作为我们正在开发的电子商务解决方案的一部分,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
的类别?
答案 0 :(得分:2)
只需使用while循环。
while($child->hasParent()) {
echo $child->name();
$child = $child->Parent();
}
答案 1 :(得分:0)
if(parent class == null)
然后 子类== null
否则 hasparent class(null)== 0
重复