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

Как сделать сортировку по вложенной моделе laravel?

Есть модель "Товары", каждый товар принадлежать к 1 категории. Как через ActiveRecord в Laravel получить категории отсортированные по количеству товаров в категории?

$category = Category::active()->orderBy([])->->paginate($per_page);
  • Вопрос задан
  • 320 просмотров
Подписаться 4 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    PHP-фреймворк Laravel
    2 месяца
    Далее
  • Яндекс Практикум
    Фулстек-разработчик расширенный
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
Alyovkin
@Alyovkin
Full-stack developer
Используйте методы коллекций sortBy() и count().
Пример:
$categories = Category::active->with('product')->get()->sortBy(function($category)
{
    return $category->product->count();
});
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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