public function actionCreate() { $model = new Category(); $roots = ArrayHelper::map(Category::find()->roots()->all(), 'name', 'name'); if ($model->load(\Yii::$app->request->post())) { $post = \Yii::$app->request->post('Category'); if ($post['parent'] == null) { $parent = new Category(['name' => $post['name']]); $parent->makeRoot(); } else { $parent = Category::findOne(['name' => $post['parent']]); $child = new Category(['name' => $post['name']]); $child->appendTo($parent); } } else { return $this->render('create', ['model' => $model, 'roots' => $roots]); } }