代码之家  ›  专栏  ›  技术社区  ›  MattBelanger

在cakephp中手动构建树

  •  3
  • MattBelanger  · 技术社区  · 15 年前

    我目前正在用cakephp构建一个应用程序。有一个相当广泛的现有数据集,从概念上讲是一个树,但以前并没有作为树存储。我的意思是,数据中没有定义真正的关系。

    我遇到的问题是如何让它正确地处理cakephp树的行为。因为我必须在现有数据上设置所有值,而不是在插入元素时设置结构,所以我需要了解lft/rght值是如何工作的。

    所以,我想问题是:

    结构数据如何工作,特别是LFT/RGHT值?如何设置它以使数据合理地输出,而不必一次插入一个数据?它是一个2级树,有节和子节。

    谢谢你的帮助

    1 回复  |  直到 13 年前
        1
  •  17
  •   PaÅ­lo Ebermann    13 年前

    MPTT树逻辑相当简单,在 Managing Hierarchical Data in MySQL . 总之,每个条目都有一个左值和一个右值。左/右值在另一个条目左右范围内的每个条目都是该(后一个)元素的后代。例如,LCD节点(5/6)在其父节点电视(2-9)的范围内。

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

    要为“新”树构建LFT/RGHT值,只需设置 parent_ids 正确运行 $this->Model->recover() 关于它。Cake将为您计算LFT/RGHT值。

    推荐文章