我刚刚为这个幻灯片共享中的第70页所示的组织查询分层数据的"Closure表"方法做了更新/添加/删除部分:http://www.slideshare.net/billkarwin/sql-antipatterns-strike -背部
我的数据库看起来像这样:
表分类:
ID Name
1 Top value
2 Sub value1
Run Code Online (Sandbox Code Playgroud)
表类别树:
child parent level
1 1 0
2 2 0
2 1 1
Run Code Online (Sandbox Code Playgroud)
但是,我有一个问题是将完整的树从单个查询中作为多维数组返回.
这是我想要回来的:
array (
'topvalue' = array (
'Subvalue',
'Subvalue2',
'Subvalue3)
);
);
Run Code Online (Sandbox Code Playgroud)
更新: 找到此链接,但我仍然很难将其转换为数组:http: //karwin.blogspot.com/2010/03/rendering-trees-with-closure-tables.html
Update2: 我现在可以为每个类别添加深度,如果可以提供任何帮助的话.
我在 MySQL 中存储一些分层数据。由于各种原因,我决定使用闭包表(而不是嵌套集、邻接表等)。到目前为止,它对我来说效果很好,但现在我正在尝试弄清楚如何在 HTML 中实际显示这棵树(即使用正确的缩进)。
举个例子,假设我有一棵像这样的树......
我的“食物”表看起来像这样......
[ID] [PARENT_ID] [NAME]
1 0 Food
2 1 Fruits
3 1 Vegetables
4 2 Apples
5 2 Pears
6 3 Carrots
Run Code Online (Sandbox Code Playgroud)
我的“关闭”表将如下所示......
[PARENT] [CHILD] [DEPTH]
1 1 0
2 2 0
3 3 0
4 4 0
5 5 0
6 6 0
1 2 1
1 3 1
1 4 2
1 5 2
1 6 2
2 4 1
2 5 1
3 6 1 …Run Code Online (Sandbox Code Playgroud) 喜欢Hacker News和Reddit中的评论.我看过Jinja的文档,但我找不到任何关于递归的信息(我假设这是怎么做的).有任何想法吗?
提前致谢.
编辑:
我已经有了数据(来自API),而注释是有孩子的对象.我只需要知道如何在Jinja中递归渲染子项.