Как сделать сортировку сортировку по связанной таблице?

Сейчас сортировка по id таблицы Question
$ArrQuest = Question::with('user', 'file', 'answer')->orderBy('id','desc')->paginate(15);

Возможно ли сделать сортировку по количеству строк связанной таблицы answer
Пересмотрел везде и не нашел ни одного решения рабочего.
  • Вопрос задан
  • 244 просмотра
Пригласить эксперта
Ответы на вопрос 1
wielski
@wielski
✔ Совет: Вам помогли? Отметьте ответы решением.
Как-то так.
Идею подкинул, дальше сами надеюсь разберетесь. Не тестировал.

$Question = new Question;
$ArrQuest = Question::with('user', 'file', 'answer');

$Relation = $Question-> answer();
$Table = $Question->getRelated()->getTable();

$ArrQuest = $ArrQuest->join($Table, $Relation->getQualifiedForeignKey(), '=', $Relation->getQualifiedOtherKeyName())->orderBy(DB::raw("count(`{$Table}`.`id`)"), 'asc')->paginate(15);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы