Установка атрибутов если родителем этой ноды будет новый, читаем родителя, и обновляем необходимые данные у себя
public setAttributesForFutureParent ( |
||
$parent |
/** * Создание дочерней ноды * * @param Tree $target * @return Tree * @throws Exception * @throws \skeeks\sx\validate\Exception */ public function processCreateNode(Tree $target) { //Текущая сущьность должна быть уже сохранена if ($this->isNewRecord) { throw new Exception('Текущая сущьность должна быть уже сохранена'); } //Новая сущьность должна быть еще не сохранена if (!$target->isNewRecord) { throw new Exception('Новая сущьность должна быть еще не сохранена'); } //Установка атрибутов будущему ребенку $target->setAttributesForFutureParent($this); if (!$target->save(false)) { throw new Exception(\Yii::t('skeeks/cms', "Failed to create the child element: ") . Json::encode($target->attributes)); } $this->save(false); return $target; }