@ooooooooooooooo

Как вывести записи всех подкатегорий через сводную таблицу?

Сейчас вывожу записи конкретной категории на которую перехожу, а вот как вывести записи всех подкатегорий? При этом использую сводную таблицу

Companies | Categories | Company_category

Подкатегории вывожу через parent_id

Сейчас код выглядит вот так

$companies = Company::search(request('search'))->query(function(Builder $query) use($category){
            $query->select(['id', 'name', 'company_type_id', 'logo'])
            ->when($category->exists, function(Builder $query) use($category){
                $query->whereRelation(
                    'categories',
                    'categories.id',
                    '=',
                    $category->id
                );
            })
            ->sorted()
            ->companyByCity();
        })->paginate(15);
  • Вопрос задан
  • 112 просмотров
Пригласить эксперта
Ответы на вопрос 2
alexey-m-ukolov
@alexey-m-ukolov Куратор тега MySQL
Если вложенность категорий неограниченная, то при такой структуре никак — MySQL, вроде, до сих пор не умеет делать рекурсивные запросы. Если ограниченная, то можно сделать N джойнов и проверять на совпадения все уровни.
Но проще всего внедрить хранение категорий в формате nested set.
Ответ написан
@drnkwtr
forblitz.ru dev
Для категорий рекомендую использовать Nested Set Laravel
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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