我的关系有点复杂,我也希望使用其他表格中的列来订购我的结果,让我们看看:
$book = Book::where('id', '=', $id)->with([
'versions.titles' => function ($query) {
//I want to paginate table "titles"
$query->groupBy('titles.title')->paginate(15);
},
'versions.titles.numbers' => function ($query) {
// but I want to order it by "numbers.order_key"
$query->orderBy('numbers.order_key', 'asc')->get();
}])
->first();
当然,此代码无法正常运行 - titles
列未按numbers.order_key
排序。有人知道如何获得它吗?由于我的人际关系复杂化,我真的不想使用连接。
我的模特
图书:
-id
名称:
-id
版本:
-id
-book_id
titles_version:
-title_id
-version_id
编号:
-id
-book_id
-title_id
我想获得一个嵌套记录来分页标题,例如$book->versions->titles->paginate(15)
,其中标题必须由numbers.order_key
订购。