Красноречивые результаты отношений заказа - PullRequest
0 голосов
/ 30 апреля 2018

У меня есть простой красноречивый запрос, и я хочу включить в мои результаты еще одну таблицу, однако порядок результатов отношений неверен.

Можно ли упорядочить результаты без использования оператора SQLRAW

$groups = AttributeGroup::with('attribute')->where('page_id', $page->id)->get();

Что бы я хотел -

$groups = AttributeGroup::with('attribute')->orderBy('iteration', 'DESC')->where('page_id', $page->id)->get();

Я получаю ошибку Unknown column, потому что этот столбец является частью таблицы отношений.

Ответы [ 2 ]

0 голосов
/ 30 апреля 2018

Вы можете использовать замыкания для изменения запроса при использовании with и has.

$groups = AttributeGroup::with(['attribute' => function($query){
    $query->orderBy('iteration');
})->where('page_id', $page->id)->get();

Подробности доступны на https://laravel.com/docs/5.6/eloquent-relationships#constraining-eager-loads

0 голосов
/ 30 апреля 2018

Это упорядочит каждый атрибут отношение каждой группы атрибутов результат:

$groups = AttributeGroup::with(['attribute' => function ($query) {
    $query->orderBy('iteration', 'DESC');
}])->where('page_id', $page->id)->get();

Это то, чего вы хотите достичь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...