Задать вопрос

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

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

Возможно ли сделать сортировку по количеству строк связанной таблицы answer
Пересмотрел везде и не нашел ни одного решения рабочего.
  • Вопрос задан
  • 245 просмотров
Подписаться 4 Оценить 3 комментария
Помогут разобраться в теме Все курсы
  • Loftschool
    Комплексное обучение PHP
    6 недель
    Далее
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Skillbox
    Профессия PHP-разработчик с нуля до PRO
    7 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 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);
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы