首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Laravel灯塔:在相关模型上使用@paginate破坏直接查询模型的能力

Laravel灯塔:在相关模型上使用@paginate破坏直接查询模型的能力
EN

Stack Overflow用户
提问于 2020-01-14 01:24:32
回答 2查看 3.6K关注 0票数 0

假设我们有系列剧和剧集,每个系列都有很多集:

代码语言:javascript
运行
复制
type Query {
  series: [Series!]! @paginate(defaultCount: 10)
  series(id: ID @eq): Series @find

  episodes: [Episode!]! @paginate(defaultCount: 10)
  episode(id: ID @eq): Episode @find
}

type Series {
  id: ID!
  title: String!
  episodes: [Episode]! @hasMany
  plot: String!
}

type Episode {
  id: ID!
  title: String!
  season: Int!
  series: Series! @belongsTo
  plot: String!
}

一切都很好。我们可以查询系列剧和剧集,并对它们进行分页。

灯塔的文档说,我们也可以通过在type指令(https://lighthouse-php.com/master/api-reference/directives.html#hasmany)上设置@hasMany来分页关系,如下所示:

代码语言:javascript
运行
复制
type Series {
  id: ID!
  title: String!
  episodes: [Episode]! @hasMany(type: "paginator")
  plot: String!
}

当查询像这样的系列时,这个功能很好:

代码语言:javascript
运行
复制
query series {
  series {
    paginatorInfo {
      total
      currentPage
      hasMorePages
    }
    data {
      title
      episodes {
        paginatorInfo {
          total
          currentPage
          hasMorePages
        }
        data {
          title
        }
      }
    }
  }
}

剧集和它们的每集都被分页了。

但现在我再也不能直接查询插曲了:

代码语言:javascript
运行
复制
query episodes {
  episodes {
    paginatorInfo {
      total
      currentPage
      hasMorePages
    }
    data {
      title
    }
  }
}

这将返回错误No class 'EpisodePaginator' was found for directive 'paginate'" --这到底意味着什么,以及如何获得直接分页相关模型和所有模型的能力?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-01-18 14:43:05

这是一个错误,已经在v4.8.1 https://github.com/nuwave/lighthouse/releases/tag/v4.8.1中修复了

票数 2
EN

Stack Overflow用户

发布于 2020-01-14 15:59:30

除了有两个同名查询之外,所有内容看起来都是正确的:

代码语言:javascript
运行
复制
type Query {
  series: [Series!]! @paginate(defaultCount: 10)
  series(id: ID @eq): Series @find
}

你需要改变其中之一。我怀疑正在发生的事情是,您正在用一个只抓取一个系列的查询覆盖分页查询。

尝试将复数查询的名称更改为allSeries或类似的内容,看看这是否解决了您的问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59726381

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档