我有一个简单的雄辩查询,并希望在我的结果中包含另一个表格,但是,关系结果的顺序不正确。
是否可以在不使用SQLRAW
语句的情况下订购结果
$groups = AttributeGroup::with('attribute')->where('page_id', $page->id)->get();
我想要什么 -
$groups = AttributeGroup::with('attribute')->orderBy('iteration', 'DESC')->where('page_id', $page->id)->get();
我收到Unknown column
的错误,因为此列是关系表的一部分。
答案 0 :(得分:3)
这将命令每个属性组结果的每个属性关系:
$groups = AttributeGroup::with(['attribute' => function ($query) {
$query->orderBy('iteration', 'DESC');
}])->where('page_id', $page->id)->get();
这是你想要达到的目标吗?
答案 1 :(得分:0)
使用with
和has
时,您可以使用闭包更改查询。
$groups = AttributeGroup::with(['attribute' => function($query){
$query->orderBy('iteration');
})->where('page_id', $page->id)->get();
详情请见https://laravel.com/docs/5.6/eloquent-relationships#constraining-eager-loads