如何在带有Lighthouse的Laravel 5.8中使用字段值过滤Graphql查询
我有可以创建列表的用户。列表可以加星号(“特色”如果您愿意)。我想在Lighthouse/Laravel中构建一个Graphql查询,该查询将检索给定用户的所有星号/特征列表 我尝试了这个查询,它可以工作:如何在带有Lighthouse的Laravel 5.8中使用字段值过滤Graphql查询,laravel,graphql,laravel-lighthouse,Laravel,Graphql,Laravel Lighthouse,我有可以创建列表的用户。列表可以加星号(“特色”如果您愿意)。我想在Lighthouse/Laravel中构建一个Graphql查询,该查询将检索给定用户的所有星号/特征列表 我尝试了这个查询,它可以工作: clistsByStarred(user_id: Int! @eq, starred: Boolean! @eq): [Clist] @all 然后我可以这样使用它: query { clistsByStarred(user_id: 1, starred: true) {
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
}
}
}
有没有关于如何实施的想法
type User {
id: ID!
clists(starred: Boolean @eq): Clist @hasMany
此示例为您提供了一个用户类型,其中包含一个Clist类型列表。
然后,只需在查询中添加一个字段,即可按id获取单个用户
查询时,可以指定星号参数以仅获取星号
为了让这种关系发挥作用,这种关系必须存在于你雄辩的模型中。
在您的用户类型中,向clist添加字段/关系,然后您应该能够像在查询中使用参数和eq指令一样执行此操作。它过去工作得很好。但后来我安装了Passport和,它不再工作了。这是Graphql游乐场的地图。但是认证工作正常。知道为什么吗?事实上,原因是插件使用自己的用户类型。我的被推翻了。问题解决了。