Каков наилучший способ добавить и заказать деревья Doctrine Nested Set? - PullRequest
0 голосов
/ 30 марта 2010

Как лучше всего добавить чувство порядка в вложенных множествах Doctrine?

Документация содержит несколько примеров того, как получить всех детей определенного узла

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

Но как я могу, например:

  • изменить положение четвертого родного брата на вторую позицию
  • получить только второй брат
  • добавить родного брата между вторым и третьим ребенком и т.д ...

Нужно ли вручную добавлять и заказывать столбцы к модели для выполнения этих операций?

1 Ответ

1 голос
/ 30 марта 2010

Чтобы получить второго предыдущего брата:

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

Для вставки категории на ее место:

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

Чтобы добавить нового брата между вторым и третьим дочерними элементами, вы просто должны использовать insertAsNextSiblingOf вместо moveAsPrevSiblingOf.

...