我有这个数据:
id | parent_id | lft | rgt | name
=====================================
1 | 0 | 1 | 8 | abc
2 | 3 | 5 | 6 | jkl
3 | 1 | 2 | 3 | def
4 | 0 | 9 | 10 | mnno
5 | 1 | 4 | 7 | ghi
我需要按以下顺序(id)遍历这个层次结构:1 > 3 > 5 > 2 > 4
我怎样才能做到这一点?
假设我想找到node_x的下一个节点。
if (node_x_rgt - node_x_lft == 1) {
next_node_lft = node_x_rgt + 1;
} else {
next_node_lft = node_x_lft + 1;
}
此公式仅在某些情况下有效(节点 ID 为 1、3、5、2)。节点 2 的下一个节点应该是 4。