Настройка иерархии вложенных множеств
Допустим, у меня есть несколько предприятий. И каждый бизнес может иметь несколько категорий, подкатегорий и подкатегорий (три уровня). Допустим, я настроил таблицу в соответствии с моделью вложенного набора для моих категорий.
Как мне теперь использовать эту таблицу и назначать категории для каждого бизнеса? Я понимаю, что мне понадобится еще одна таблица, но какой узел будет назначен? Это узел самого низкого уровня?
business_id category_id
И каков правильный способ получения всех категорий для каждого бизнеса?
1 ответ
Обычно это работает так, что вы назначаете лист или узел самого низкого уровня. Затем, когда вы запрашиваете полную иерархию, вы перемещаетесь по дереву к корню. Как правило, гораздо проще (особенно в MySQL) переходить от листа к корню, чем наоборот.
Вот лучшая ссылка, которую я нашел, которая описывает, как выполнить этот запрос для дерева динамического размера (ссылка, которую вы включили, предполагает, что дерево всегда имеет 3 уровня глубины)