【发布时间】:2011-06-25 10:31:47
【问题描述】:
作为我们正在开发的电子商务解决方案的一部分,CMS 可以选择让产品类别拥有无限数量的子类别,并且每个子类别都可以拥有无限数量的子类别。基本上,产品类别的嵌套级别是无限的。
类别的数据库表架构如下所示:
+-------------+-----------------+----------------+
| category_id | name | parent_id |
+-------------+-----------------+----------------+
| 1 | Parent 1 | null |
| 2 | Child of Parent | 1 |
+-------------+-----------------+----------------+
我们想为类别导航的每个级别添加面包屑导航,所以我的问题是,在分配了父级的情况下遍历类别的最佳做法是什么,直到它到达顶层?
显然,我们可以将其编码在一个固定循环中(例如if($child->hasParent()) { echo '1'; if($child->children->hasParent() { } } 等。
如何遍历未知数量的类别,直到到达顶级类别(即没有分配parent_id 的类别?
【问题讨论】:
标签: php mysql breadcrumbs