Php Laravel按相关表排序
我的关系有点复杂,我还想使用另一个表中的列对结果进行排序,让我们看看:Php Laravel按相关表排序,php,laravel,eloquent,relationship,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);
$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();
当然,此代码无法正常工作-标题
列未按编号排序。顺序键。有人知道怎么得到它吗?我真的不想使用连接,因为我的关系很复杂
更新:
我的模型
书籍:-身份证 标题:
-身份证 版本:
-id
-书号 标题\u版本:
-标题\u id
-版本号 编号:
-id
-图书id
-标题id
我想获取一条嵌套记录来分页标题,例如
$book->versions->titles->paginate(15)
,其中标题必须按数字排序。order_key
您希望得到什么结果,book
对象具有version
属性?带有属性标题的版本
对象
-标题数组(字符串?)。你有什么东西?书->版本->标题->编号,每个->
都是有很多
?我更新了我的问题。我想获得具有版本
和标题
和数字
的对象书籍
。