Skip to content

Accessing slug variables #13

Description

@Ximore

Let's consider I have a collection of blog posts called posts. Then I will have access to a GraphQL command called allPosts. This works perfectly fine except when dealing with slugs generated by the text fields with option "slug": true. It is indeed possible to filter using slug but you can't return the slug value as an argument in the gql request.

{
  allPosts(filter: { published: true, title_slug:"banana-test"}) {
    title
    main_image {
      path
    }
    category
    content
  }
}

This works perfectly fine. but if I add the title_slug to the variables I want returned, I get following message:

"Cannot query field \"title_slug\" on type \"posts\". Did you mean \"title\"?"

As a workaround I just reuse the same variable as I used to request the data with, but let's say you have assigned an author to the post, and need the slug of their name to link to all their posts e.g.

{
  allPosts(populate: 1, filter: { published: true, title_slug:"banana-test"}) {
    title
    main_image {
      path
    }
    category
    content
    writer {
      name
      name_slug
    }
  }
}

This won't be possible neither. But if I request the author details separately in a collections request i.e. { collection(name:"writers", filter: {_id: xxxxxxxxxxxxx}) } then I do indeed receive the slug value as part of the entire returned JSON object. I just wished I could return this as part of the nested request as above example.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions