如何在带有Lighthouse的Laravel 5.8中使用字段值过滤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) {

我有可以创建列表的用户。列表可以加星号(“特色”如果您愿意)。我想在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
     }
   }
 }
有没有关于如何实施的想法

type User {
 id: ID!
 clists(starred: Boolean @eq): Clist @hasMany
此示例为您提供了一个用户类型,其中包含一个Clist类型列表。 然后,只需在查询中添加一个字段,即可按id获取单个用户

查询时,可以指定星号参数以仅获取星号

为了让这种关系发挥作用,这种关系必须存在于你雄辩的模型中。

在您的用户类型中,向clist添加字段/关系,然后您应该能够像在查询中使用参数和eq指令一样执行此操作。它过去工作得很好。但后来我安装了Passport和,它不再工作了。这是Graphql游乐场的地图。但是认证工作正常。知道为什么吗?事实上,原因是插件使用自己的用户类型。我的被推翻了。问题解决了。