添加和订购Doctrine嵌套集树的最佳方法是什么?

时间:2010-03-30 10:00:33

标签: doctrine nested-sets

在Doctrine嵌套集中添加顺序感的最佳方法是什么?

该文档包含几个如何获取特定节点的孩子的例子

$category->getNode()->getSiblings()

但我怎么能这样:

  • 将第四个兄弟姐妹的位置更改为第二个位置
  • 只获得第二个兄弟姐妹
  • 在第二个和第三个孩子之间添加一个兄弟姐妹 等...

我是否必须手动添加和命​​令列到模型才能执行这些操作?

1 个答案:

答案 0 :(得分:1)

要获得第二个兄弟姐妹:

$anotherCategory = $category->getNode()->getPrevSibling()->getNode()->getPrevSibling();

要在其位置插入类别:

$category->getNode()->moveAsPrevSiblingOf($anotherCategory);

要在第二个和第三个孩子之间添加新的兄弟,您只需使用insertAsNextSiblingOf代替moveAsPrevSiblingOf