Мне нужно отобразить дерево категорий по уровням (все элементы дерева на каждом уровне).
Root
Cat1 (parent_id) Cat2 (parent_id) ...
Subcat1 (parent_id) Subcat2 (parent_id) Subcat3 (parent_id) ...
Я пытался реализовать его с помощью структуры Nested Set, но столкнулся с проблемой: нелегкий способ получить идентификатор узла родителя (без отдельного запроса к базе данных). Должен ли я использовать список смежности вместо этого?
Цель состоит в том, чтобы сделать отображение максимально быстрым, в идеале одним запросом к базе данных.