Если у меня есть дерево категорий с неопределенным уровнем подкатегорий, возможно ли получить все дерево категорий за один запрос (без каких-либо циклов)?
Это возможный сценарий:
category_id parent_id Name
0 null Home
1 null Auto
2 0 Living Room
3 2 Couches
4 2 TV
5 4 Home Theatre
6 5 Cables
Если вы заметили, кабельная линия такова, что:
Главная> Гостиная> Телевизор> Домашний кинотеатр> Кабели
Прямо сейчас я получаю родительскую категорию текущей категории и продолжаю цикл, пока не доберусь до родительской категории, которая имеет нулевую родительскую категорию. Я знаю, что эту часть спрашивали раньше. Однако мне интересно, есть ли лучший способ структурировать эту таблицу, чтобы мне не приходилось выполнять X запросов (или подзапросов)? Я рассмотрел, например, добавление 4-го столбца, называемого родителями, или чего-то такого, что могло бы иметь всю родословную в списке через запятую (например, в этом случае родители будут: 5,4,2,0
, Однако это казалось липким и неэффективным (и его легко сломать). Есть ли лучший механизм?
Задача ещё не решена.
Других решений пока нет …