在CakePHP中手动构建树

Mat*_*ger 3 php tree cakephp

我目前正在使用CakePHP构建应用程序.有一个相当广泛的现有数据集,它在概念上是一棵树,但以前没有存储为一个.我的意思是,数据中没有定义真正的关系.

我遇到的问题是让它与CakePHP树行为正常工作.因为我必须在现有数据上设置所有值 - 而不是Cake在插入元素时设置结构 - 我需要了解lft/rght值的工作原理.

所以,我想问题是:

结构数据如何工作,特别是lft/rght值?如何设置它以便合理地输出数据,而不是一次插入一个?它是一个2级树,包含Sections和子部分.

谢谢您的帮助

dec*_*eze 17

MPTT树逻辑非常简单,在MySQL管理分层数据时也有很好的解释.总之,每个条目都有左值和右值.每个左/右值都在另一个条目左右范围内的条目是该(后一)元素的后代.例如,LCD节点(5/6)在其父节点Televisions(2-9)的范围内.

alt text http://dev.mysql.com/tech-resources/articles/hierarchical-data-4.png

要为"新"树构建lft/rght值,只需parent_ids正确设置并运行$this->Model->recover()它.蛋糕将为您计算lft/rght值.

  • 幸运的是,在我尝试手动设置之前,我*确实*发现了这个帖子:) (2认同)