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

Как вывести компании по количеству комментариев?

$top_companies =Company::query()
            ->where(...)    // где коментариев больше както так
            ->paginate(8);
  • Вопрос задан
  • 104 просмотра
Подписаться 2 Простой 6 комментариев
Пригласить эксперта
Ответы на вопрос 3
@jazzus
Company::has('comments', '>', 1)
Ответ написан
Комментировать
VariusRain
@VariusRain
музыкант-программист-конструктор
->where('Comments', '>', 8)

Дополняю ответ для большей достоверности

Мой ответ дан ровно так, как задан вопрос. Однако же, в реальности комменты, и их число не будут храниться в той же таблице. Скорее всего, есть какая-то таблица с внешним ключом на таблицу компаний, вам нужно сделать JOIN этой таблицы и в условии опираться уже на количество записей в ней, а не в основной таблице.
Ответ написан
  1. Выбираешь компании вместе с комментариями, используя eager loading
  2. Пробегаешься по элементам коллекции и добавляешь новый атрибут, к примеру, count, значение которого будет равно количеству комментариев для данной компании
  3. Сортируешь коллекцию по атрибуту count
  4. Вырезаешь из коллекции только нужные элементы
  5. Возвращаешь view с коллекцией
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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