2015-03-26 2 views
0

я не могу получить orderBy заявления на работу в нетерпеливой функции загрузки как Laravel документыEloquent - Laravel Не удается с помощью OrderBy в нетерпеливой загрузке

Book::with(['view' => function ($q) 
{ 
    $q->orderBy('total', 'desc'); 
}])->get(); 

Но когда я с помощью join заявления будет КАМИ.

Book::join('views', 'views.book_id', '=', 'books.id') 
->orderBy('total', 'desc')->get(); 
+2

Это просто TYPO, тот, который работает, вы называете 'views', и тот, который вы не вызывали' view' – RiggsFolly

+2

'views' - ​​это имя таблицы, а' view' - имя метода. –

ответ

0

Он не будет работать, так как он работает таким образом, чтобы вы первый захватить все Book записи, а затем принести в View отношения в другом запросе. Вот как работает интенсивная загрузка. Поэтому, если вы хотите отсортировать по столбцу из таблицы отношений, вы должны присоединиться к нему, как и во втором фрагменте.

Смежные вопросы