我需要按级别显示一个类别树(每个级别的所有树元素)。
Root
Cat1 (parent_id) Cat2 (parent_id) ...
Subcat1 (parent_id) Subcat2 (parent_id) Subcat3 (parent_id) ...
我尝试使用嵌套集结构实现它,但我遇到了一个问题:没有简单的方法来获取父节点的id(没有对数据库的单独查询)。我应该使用邻接列表吗?
目标是尽可能快地显示,最好是对数据库进行一次查询。
答案 0 :(得分:1)
阅读this article about Nested Set vs Adjacency List。您将看到嵌套集使查询更容易编写。 另请阅读关于the nested set hierarchy hydration method的§,您将了解如何使用单个查询以层次结构形式获取多个学说对象。