Php Laravel Lighthouse-按关系的属性对查询进行排序
对于下面这样的模式,是否有办法执行查询并按Php Laravel Lighthouse-按关系的属性对查询进行排序,php,laravel,graphql,laravel-lighthouse,Php,Laravel,Graphql,Laravel Lighthouse,对于下面这样的模式,是否有办法执行查询并按JobType实体的name属性对结果进行排序?我希望有一个分页的作业列表,并按作业类型名称的字母顺序显示结果 extend type Query @middleware(checks: ["auth:api"]) { jobs(orderBy: _ @orderBy): [Job!]! @paginate(defaultCount: 10, model: "App\\Job") } type Job { id: ID! des
JobType
实体的name
属性对结果进行排序?我希望有一个分页的作业列表,并按作业类型名称的字母顺序显示结果
extend type Query @middleware(checks: ["auth:api"]) {
jobs(orderBy: _ @orderBy): [Job!]! @paginate(defaultCount: 10, model: "App\\Job")
}
type Job {
id: ID!
description: String!
job_type: JobType! @belongsTo
}
type JobType {
id: ID!
name: String!
}
我尝试过使用@builder
指令,然后在builder中使用join以这种方式引入name属性,但这似乎会导致实体id出现一些问题,从而导致关系链接到错误的对象
有什么想法吗?您提到的
@builder
是一个很好的解决方案。解决实体ID问题的方法是在构建器中传递一个->select('model.*')
。这样,它只会返回您要求的模型的数据,并且仍然根据关系进行订购。这是拼图中缺失的部分。谢谢