Добрый день,
такая проблема, использовал мануальчик для реализации
NestedSet в иерархической таблице -
webnotes.by/docs/php/yii/derevo-kategoriy-v-yii-s-...
Там есть
actionUpdate. Кажется в нем при обновлении узла(любой внутренней информации по таблице или связочных данных) Узел скатывается вправо среди братьев и сестер на том же уровне. В чем проблема может быть и как её избежать?
Этот кусок внутри actionUpdate в моем контроллере
if(isset($_POST['Product']))
{
$code_par = (int)$_POST['Product']['CODE_PAR'];
// Вытаскиваем родителя
$node = Product::model()->findByPk($code_par);
// Присваиваем атрибуты
$model->attributes = $_POST['Product'];
$model->CODE_PAR = (int)$code_par;
$model->CAT = (int)$_POST['Product']['CAT'];
$model->SALE = (int)$_POST['Product']['SALE'];
$model->EXIST = (int)$_POST['Product']['EXIST'];
$model->TEMPLATE = (int)$_POST['Product']['TEMPLATE'];
// если это корень дерева и первый элемент с левым ключом, равным 1
if($model->LFT == 1 || $model->CODE == $node->CODE){
// Создание корня
if($model->saveNode()){
Yii::app()->user->setFlash('category_error', "Структура дерева не изменена.");
$this->redirect(array('view','id'=>$model->CODE));
}
}
// если выбрана какая то категория
else{
// Создаем узел
if($model->saveNode()){
// если имеются потомки у узла
if($node->isDescendantOf($model))
Yii::app()->user->setFlash('category_error', "Структура дерева не изменена.");
// если имеются потомки
else
$model->moveAsLast($node);
$this->redirect(array('view','id'=>$model->CODE));
}
}
}