Дерево категорий

У меня есть три таблицы: Категория, Подкатегория, Подкатегория.

Мне нужно составить дерево категорий со многими отношениями, что означает:

-Category
   --Subcategory
   --Subcategory
       ---Subsubcategory
       ---Subsubcategory
  --Subcategory
-Category
-Category

Я сделал три модели в виде таблиц; Теперь мне нужно собрать все категории с подкатегориями подкатегорий.

Как это сделать? Заранее спасибо!

Создание для этого трех таблиц выглядит довольно неудачным дизайном. Создайте единую таблицу со ссылкой на категорию верхнего уровня, где категории верхнего уровня имеют NULL родительский элемент.

Blackbam 09.11.2018 18:06
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
1
84
1

Ответы 1

Вы уверены, что у вас будет всего 3 уровня дерева категорий?

В таких случаях я использую одну таблицу с дополнительным родительским идентификатором, поэтому, если родительский идентификатор равен 0, что означает, что это корень дерева, дочерний элемент в дереве, такой как ваша подкатегория, будет содержать 1 для родительский идентификатор и так далее. Так что-то вроде этого:

1. Category (parent 0)
   3. Subcategory (parent 1)
      4. Subsubcategory (parent 3)
2. Category (parent 0)

затем вы можете рекурсивно отображать их или использовать.

Это только одна модель (таблица) под названием Категория, и в приведенном выше примере используются их имена.

Другие вопросы по теме