/** * Экшен '/admin/catalog/insert-cat' - добавление категории * Экшен нельзя задать с помощью CRUD т.к. в 'nested sets' переопределяется метод 'insert' * @return string * @throws InvalidParamException */ public function actionInsertCat() { $category = new Category(); $category->scenario = 'insert'; if ($category->load(Yii::$app->request->post())) { // Валидируем модель if ($category->validate()) { $parent = Category::findOne($category->parent); $this->afterSaveCategory($category->appendTo($parent)); } } return $this->render('update-cat', ['model' => $category]); }
/** * Creates a new Category model. * If creation is successful, the browser will be redirected to the 'view' page. * @return mixed */ public function actionCreate() { $model = new Category(); if ($model->load(Yii::$app->request->post()) && $model->validate()) { if (!isset($model->parentId)) { $result = $model->saveNode(); } else { $parent = Category::findOne($model->parentId); $result = $model->appendTo($parent); } if ($result) { return $this->redirect(['view', 'id' => $model->id]); } } return $this->render('create', ['model' => $model]); }