Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel Lighthouse-按关系的属性对查询进行排序_Php_Laravel_Graphql_Laravel Lighthouse - Fatal编程技术网

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.*')
。这样,它只会返回您要求的模型的数据,并且仍然根据关系进行订购。

这是拼图中缺失的部分。谢谢