Как реализовать связь многие-ко-многим для одной и той же таблицы? Здравствуйте, уважаемые знатоки!
У меня возникла проблема с реализацией многоуровневого каталога. Есть сущность category у неё есть id, parent_id, name. Родительская категория ничего не знает о дочерних. Собственно вопрос как познакомить родителя с ребенком?
В голову мне ничего не пришло кроме связи многие ко многим. Но как это реализовать и вообще возможно ли это?
Извеняюс за нубский вопрос.

21 Авг 2019 в 07:08
176 +1
0
Ответы
1

Для реализации связи многие-ко-многим для одной и той же таблицы в вашем случае с категориями можно создать сводную таблицу, которая будет отображать отношения между родительскими и дочерними категориями. Например, можно создать таблицу category_relation со следующими полями: parent_id и child_id, которые будут являться внешними ключами к таблице category.

При этом, при добавлении новой записи в таблицу category_relation, вы будете указывать какому родительскому элементу принадлежит дочерняя категория.

Пример SQL-запроса для создания таблицы category_relation:

CREATE TABLE category_relation (
parent_id INT,
child_id INT,
FOREIGN KEY (parent_id) REFERENCES category(id),
FOREIGN KEY (child_id) REFERENCES category(id)
);

Таким образом, вы сможете реализовать связь между родительскими и дочерними категориями в вашем многоуровневом каталоге. Надеюсь, это поможет вам решить вашу проблему. Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать их.

20 Апр 2024 в 13:07
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир