Laravel按相关表排序

时间:2017-02-07 11:44:57

标签: php laravel eloquent relationship

我的关系有点复杂,我也希望使用其他表格中的列来订购我的结果,让我们看看:

$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订购。

0 个答案:

没有答案