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

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

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

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

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

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