У меня есть этот запрос:
$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')
, это вызовет исключение.
Как получить вызовы платформы, упорядоченные по названию бренда?
РЕДАКТИРОВАТЬ
Iтакже попытался использовать $challenges = $platform->challenges()->with(['reward'])->skip($input['start'])->take($input['length'])->get()->sortBy("brand.name");
, но он сортирует только текущую страницу, так что это не решение.