关于yii2 treemanager插件中lft和rgt的说明

这两个属性在计算多级记录的时候很重要,具体计算规则如下:

记录A和记录E是第一级节点,B、C是A的子节点,D是C的子节点,F是E的子节点。

从记录A开始计算,A的lft是1,递归读取A的所有子节点,顺序为lft赋值。如果子节点中还有子节点(如C)则继续遍历赋值,当所有子节点遍历完成之后顺序退回,给每个节点的rgt赋值.

A节点的赋值顺序为:A(lft)->B(lft)->B(rgt)->C(lft)->D(lft)->D(rgt)->C(rgt)->A(rgt),节点E的赋值和A相同

-A lft:1 rgt:8

-B                  lft:2   rgt:3

-C                  lft:4   rgt:7

    -D              lft:5   rgt:6

-E lft:9 rgt:12

-F                   lft:10  rgt:11

其实treemanager扩展是基于jqgrid中treegird的
参考http://www.w3dev.cn/article/20130709/jqGrid-treeGrid-nested-set-model.aspx
分层数据管理-嵌套集合模型
http://www.w3dev.cn/article/20130709/hierarchical-data-Nested-Set.aspx

是因为在MySQL中left和right是保留字。http://dev.mysql.com/doc/mysql/en/reserved-words.html,有一份详细的MySQL保留字清单。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值