【发布时间】:2017-04-26 02:33:45
【问题描述】:
我有一个categories 表设置,例如:
ID CatName CatParent
1 Websites NULL
2 Recipes NULL
3 Programming 1
4 Helpful 3
5 Useless 3
6 Desserts 2
如果我有一个类别 ID,我想查询数据库以选择类别和所有父母,按祖先的顺序。每个类别都有一个CatParent,这是它的父级,如果没有父级,则为NULL。
因此,例如,如果我的类别 ID 为 4,我想要一个返回的查询:
array('4','3','1'); // Helpful > Programming > Websites
或者,如果我的类别 ID 为 6:
array('6','2'); // Desserts > Recipes
或类别 ID 为 1:
array('1');
我将如何构建这个查询?
【问题讨论】:
-
是否有最大类别深度?如果没有,你不能只用一个查询来做到这一点。
-
@Quagaar 不,没有最大类别深度,除非它被定义为异常高的东西......比如说,20。
-
你试过循环吗? (sql,不是 php)
-
您希望数据库中有多少个类别?