Laravel Красноречиво сортируйте поля по отношению ко многим - PullRequest
1 голос
/ 09 января 2020

Я пытаюсь найти способ сделать следующее с помощью eloquent:

У меня есть товары с брендами, которые связаны между собой многими. Бренды вкладываются с использованием вложенных наборов (https://github.com/lazychaser/laravel-nestedset) и имеют только один уровень глубины (бренд и суббренд), поэтому продукты будут иметь не более 2 брендов (родитель и потомок), но также могут быть только иметь родителя, поскольку у некоторых брендов нет дочернего бренда

Мне нужно заказать продукты по названию родительского бренда (ie бренд самого высокого уровня, присвоенного продукту), как, если вообще, могу ли я добиться этого с помощью eloquent?

$products_builder->with(['brands' => function($query)
    {
        $query->orderBy('title', 'desc');
    }
]);

Здесь не сработает.

РЕДАКТИРОВАТЬ: Просто добавьте еще немного информации, которая может упростить понимание проблемы. Мне нужно отсортировать товары по марке root. Каждый продукт может иметь несколько брендов, но будет иметь только один бренд root. Бренд root будет иметь parent_id = null

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...