我有一些数据存储在表中,如下所示:
id parent_id name
1 0 Entry 1
2 0 Entry 2
3 0 Entry 3
4 1 Child of entry 1
我想将它变成一个嵌套数组,如下所示:
array(
array(
'id' => 1,
'parent_id' => 0,
'name' => 'Entry 1',
'children' => array(...)
),
...
);
理想情况下,它需要支持无限数量的嵌套(孩子与孩子)。我的表是否设置为支持此功能,如果是,我将如何使用表中的数据生成这种数组?如果没有,我应该如何设置我的桌子?
这里有一个关于管理mysql分层数据的很好的描述:管理分层数据 http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/这是构建嵌套数组的另一个很好的例子:构建嵌套数组 http://snipplr.com/view/4383/build-nested-array-from-sql/
您可能会考虑使用嵌套集模型。如果您要查询很多东西,它比您现在使用的邻接模型更好。
希望有帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)