Laravel-通过belongsTo子关系(模型的关系的关系)进行雄辩的查询

时间:2019-05-07 11:06:27

标签: laravel-5 eloquent laravel-orm

我有这个查询:

$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");,但它仅对当前页面进行排序,因此不是解决方案。

0 个答案:

没有答案