我有这个查询:
$challenges = $platform->challenges()->with(['reward', 'brand'])->skip($input['start'])->take($input['length'])->get();
我正在尝试按品牌名称订购所有平台挑战。这些是关系:
我正在尝试使用以下代码:
$challenges = $platform->challenges()->with(['reward'])->skip($input['start'])->take($input['length']);
// ... some more code here
$challenges = $challenges->with(
[
"brand" => function ($query) use ($orderDirection) {
return $query->orderBy("name", $orderDirection);
}
]
)->get();
一切正常。如果我尝试执行orderBy('brand.name')
,则会引发异常。
如何按品牌名称订购平台挑战?
编辑
我也尝试使用$challenges = $platform->challenges()->with(['reward'])->skip($input['start'])->take($input['length'])->get()->sortBy("brand.name");
,但它仅对当前页面进行排序,因此不是解决方案。