我需要为基于Zend框架的高负载嵌入式Web服务做一个树注释系统,这个系统必须非常快。
必须以简单的数组(如bellow)为Zend_View发送注释。在Zend_View中,将通过foreach()显示整个注释。结构将与CSS类一起显示。
array(
'0' => 'comment1 (here must be a a much of data)',
'1' => 'comment for comment1',
'2' => 'comment2',
'3' => 'comment3',
'4' => 'comment for comment3',
'5' => 'comment of comment ^_^ '
);
现在,我可以从模型中收到所需的所有评论页面,按日期排序。它们的结构如下所示。
id | page_id |用户|父母|日期|文字&等
id - AI主键
page_id - TINY int
用户 - int
父 - TINY int
数据 - 时间戳
答案 0 :(得分:4)
用于无限制嵌套是评论中的父/子关系:
Comment --- id_comment id_parent ALLOW NULL body ...etc
要输出此信息,您必须首先选择所有父项(父项为NULL的注释),然后使用递归函数为每个父项选择每个级别的子项并输出它。毋庸置疑,这是太多的开销。
http://en.wikipedia.org/wiki/Nested_set_model
使用嵌套集模型,您可以使用一个查询选择整个树。
我没有太过深入研究这个例子,但也许可以看一下:http://devzone.zend.com/1675/class-for-managing-nested-set-data/