簡體   English   中英

雄辯-Laravel無法在急切加載中使用orderBy

[英]Eloquent - Laravel Can not using orderBy in eager loading

我無法使orderBy語句在像Laravel docs這樣的急切加載函數中工作

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

但是當我使用join語句時就可以了。

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

因為它是這樣工作的,所以它不起作用,因此您首先獲取所有Book記錄,然后在另一個查詢中獲取View關系。 這就是渴望加載的方式。 因此,如果要按關系表中的某些列進行排序,則必須像在第二個片段中一樣將其連接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM