我有可以创建列表的用户。列表可以加星标(如果您愿意,可以加“精选”)。我想在Lighthouse / Laravel中建立一个Graphql查询,该查询将检索给定用户的所有加星标/功能列表。
我尝试了此查询,它的工作原理是:
clistsByStarred(user_id: Int! @eq, starred: Boolean! @eq): [Clist] @all
然后我可以这样使用它:
query {
clistsByStarred(user_id: 1, starred: true) {
id
name
starred
}
}
但是对我来说这就像是个肮脏的黑客。
我想实现的是:
query {
user(id: 1) {
id
name
clistsByStarred {
id
name
starred
}
}
}
关于如何实现它的任何想法?
答案 0 :(得分:1)
type User {
id: ID!
clists(starred: Boolean @eq): Clist @hasMany
此示例为您提供了具有Clist类型列表的用户类型。 然后,您只需在查询中添加一个字段即可按ID获得一个用户。
查询时,您可以指定加星号的参数仅获得加星号。
要使其正常工作,必须在雄辩的模型上建立关系。 https://lighthouse-php.com/master/eloquent/relationships.html