Laravel Маяк - Сортировка запроса по свойству отношения - PullRequest
1 голос
/ 27 января 2020

Имеет ли схема, подобная приведенной ниже, способ выполнения запроса и сортировки результатов по свойству name объекта JobType? Я хотел бы иметь разбитый на страницы список заданий и отображать результаты, отсортированные по названию типа задания в алфавитном порядке.

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, а затем использовать соединение в конструктор, который привносит свойство name таким способом, но это, кажется, вызывает некоторые проблемы с идентификаторами сущностей, что приводит к тому, что отношения ссылаются на неправильные вещи.

Есть идеи?

1 Ответ

2 голосов
/ 29 января 2020

@builder, как вы упомянули, является отличным решением для этого. Решение проблемы, вызывающей проблемы с идентификаторами сущностей, - передать ->select('model.*') в вашем компоновщике. Таким образом, он просто вернет данные модели, о которой вы просили, и все еще упорядочит отношение.

...