2010-03-14 58 views

回答

0

使用Doctrine_Node_NestedSet::makeRoot()像这样:

$item->getNode()->makeRoot($maxRootValue + 1); 

您需要通过新的root_id价值,要做到这一点是选择从表MAX(root_id)并增加其价值的最简单的方法之一。

0

正如Crozin所说,使用Doctrine_Node_NestedSet::makeRoot(),但使用该项目的id代替计算最大值的root_id

的root_id是根节点

$item->getNode()->makeRoot($item->id); 

没有必要计算的root_id值的id。使用物品的ID不会产生任何冲突,并且是Doctrine在内部处理的方式。