在CakePHP中手动构建树
我目前正在用CakePHP构建一个应用程序。有一个相当广泛的现有数据集,它在概念上是一个树,但以前没有作为一个树存储。我的意思是,数据中没有定义真正的关系 我遇到的问题是如何让它正确地与CakePHP树行为一起工作。因为我必须在现有数据上设置所有值,而不是在插入元素时设置结构,所以我需要了解lft/rght值是如何工作的 所以,我想问题是: 结构数据是如何工作的,特别是lft/rght值?我如何设置它,使数据合理地显示出来,而不是一次插入一个数据?这是一个2级树,包含节和子节在CakePHP中手动构建树,php,cakephp,tree,Php,Cakephp,Tree,我目前正在用CakePHP构建一个应用程序。有一个相当广泛的现有数据集,它在概念上是一个树,但以前没有作为一个树存储。我的意思是,数据中没有定义真正的关系 我遇到的问题是如何让它正确地与CakePHP树行为一起工作。因为我必须在现有数据上设置所有值,而不是在插入元素时设置结构,所以我需要了解lft/rght值是如何工作的 所以,我想问题是: 结构数据是如何工作的,特别是lft/rght值?我如何设置它,使数据合理地显示出来,而不是一次插入一个数据?这是一个2级树,包含节和子节 感谢您的帮助MPT
感谢您的帮助MPTT树逻辑非常简单,在中得到了很好的解释。总之,每个条目都有一个左值和一个右值。每个左/右值在另一个条目左/右范围内的条目都是该(后一个)元素的后代。例如,LCD节点(5/6)在其父节点电视(2-9)的范围内
(来源:)
要为“新”树构建lft/rght值,只需正确设置所有的
parent\u id
,并在其上运行即可。Cake将为您计算lft/rght值。谢谢。昨晚我能够弄清楚左/右值是如何工作的,但我真希望在手动设置它们之前找到恢复方法……幸运的是,我在尝试手动设置它们之前找到了这篇文章:)