我在表中存储了一些数据,如下所示:
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中管理分层数据的描述:
managing hierarchical data
这是构建嵌套数组的另一个好例子:
building nested arrays
您可能会考虑使用嵌套集模型.如果要查询东西信息,它比您现在使用的邻接模型更好.
希望能有所帮助.