Yii嵌套集(Yiiext)。正在尝试移动根节点
我正在使用Yiiext的奇妙扩展“嵌套集行为”:Yii嵌套集(Yiiext)。正在尝试移动根节点,yii,yii-extensions,nested-sets,Yii,Yii Extensions,Nested Sets,我正在使用Yiiext的奇妙扩展“嵌套集行为”: 我很想知道,当我运行多个根的嵌套集时,是否有人可以让我知道如何移动(向上或向下)根节点 树示例: 电话(根节点) 1.1移动设备 1.2固定的 车辆(根节点) 2.1快速 2.2慢 2.3平均值 平面(根节点) 3.1大型 3.2小型 当我拉出完整的树并向用户展示时,我得到了上面的结果 我希望能够将“汽车”移到“电话”之前 有没有办法做到这一点 我试过: $cars = Category::model()->find
我很想知道,当我运行多个根的嵌套集时,是否有人可以让我知道如何移动(向上或向下)根节点 树示例:
1.1移动设备
1.2固定的
2.1快速
2.2慢
2.3平均值
3.1大型
3.2小型
$cars = Category::model()->findByPk($cars_id);
$phones = $cars->prev()->find();
$cars->moveBefore($phones);
这在嵌套的set behavior类的moveAfter方法中给出了一个错误
以前有人这样做过吗
谢谢
Dave如文档所示,prev()方法返回:
与..对应的活动记录对象数组
因此,您必须以不同的方式来处理此问题,例如
$phones = Category::model()->findByPk($phones_id);
$cars = Category::model()->findByPk($cars_id);
$cars->moveBefore($phones);
或其他适合您的应用场景的方法
您的代码可以通过以下方式修复:
$cars = Category::model()->findByPk($cars_id);
$phones = $cars->prev()->find();
foreach($phones as $phone){
$cars->moveBefore($phone);
}
这毫无意义;)
(附注:未测试此代码)据我所知,您有3个节点,它们是根节点。 问题是moveAfter()和moveBefore()方法不能应用于主根您正试图移动一个节点,而不是另一个节点,但它们位于不同的树中。 如果汽车和手机有一个共同的根,那就是成功 换句话说,您使用不同树中的节点进行操作,这些节点彼此一无所知