这两个属性在计算多级记录的时候很重要,具体计算规则如下:
记录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保留字清单。