【发布时间】:2012-05-15 16:08:53
【问题描述】:
我在 db 中有一个带有 fields 的表
-----------------------
Id | Value | Path | Parent
-----------------------
1 | Asia | 1 | 0
2 | India | 1/2 | 1
3 | Goa | 1/2/3| 2
该列表包含世界上所有的城市。 所以这是一个相当大的列表。
问题
如果我的产品为叶子选择了所有父母。 [例如,ID:3 的 ID 3、2、1] 比我可以使用 AJAX 函数生成基于 ParentID 的树。
但是
我选择了一种产品,它给了我树叶。 [例如,ID:3] 所以我需要使用Path 解析生成树,这听起来太糟糕了[解析字符串会很慢。]
这件事有什么通用的解决方案吗? - 我可以创建一个视图并存储相应的父母 r.f 叶吗? - 使用梨树?
或任何其他直接涉及DB 的更好解决方案。?
编辑
树结构:
Asia
>India
>Goa
编辑
解析PATH的递归函数不适合这个工作。那会很慢。
【问题讨论】:
-
只是一个建议,只需存储父 id,例如印度父 id 为 1,果阿父 id 应为 2。并在您的 ajax 中添加此父 id :-)
-
好的,但您能否详细说明获取 parentID。目前我只有叶子的 parentID,我需要 parentID 直到顶部。
-
我认为会有这样的根节点让亚洲,欧洲是平行的根节点,没有任何父节点,所以他们的父 ID 将 ID 为 0,然后当你显示元素时寻找他们的父 ID .显示所有以 0 为根节点的节点,然后单击它们加载具有相应父节点的节点,例如,当我在 asia 上单击时,加载所有以 asia 即 1 作为其父 id 的国家/地区。
-
是的@RohitKumarChoudhary,这很好而且可行。但我必须向后移动。我有叶子,需要创建一棵树[其过滤] 所以问题。
-
对不起!这对我来说不是很清楚。你能详细说明一下吗?