public function actionAddStruktura() { Yii::$app->response->format = Response::FORMAT_JSON; $response = new JsResponse(); $nazvanie = Yii::$app->request->post('nazvanie'); $bally = Yii::$app->request->post('bally'); $nomer = Yii::$app->request->post('nomer'); $roditel = Yii::$app->request->post('roditel'); $otsenochnyjList = Yii::$app->request->post('otsenochnyj_list'); if ($nazvanie == '') { $response->type = JsResponse::ERROR; $response->msg = 'Введите название'; } if ($bally == '' or $bally < 0) { $response->type = JsResponse::ERROR; $response->msg = 'Введите количество баллов, целое положительное число'; } if ($response->type != JsResponse::ERROR) { $newItem = new StrukturaOtsenochnogoLista(); $newItem->nazvanie = $nazvanie; $newItem->bally = $bally; $newItem->nomer = $nomer; $newItem->roditel = $roditel; $newItem->otsenochnyjList = $otsenochnyjList; if ($newItem->validate() and $newItem->save()) { if ($roditel == null) { $response->data = StrukturaOtsenochnogoLista::find()->joinWith('podstrukturaRel')->where(['struktura_otsenochnogo_lista.id' => $newItem->id])->asArray()->one(); } else { StrukturaOtsenochnogoLista::recalculateSummuBallov($roditel); $response->data = StrukturaOtsenochnogoLista::find()->joinWith('podstrukturaRel')->where(['struktura_otsenochnogo_lista.id' => $roditel])->orderBy(['struktura_otsenochnogo_lista.nomer' => SORT_ASC, 'podstruktura.nomer' => SORT_ASC])->asArray()->one(); } } else { $response->type = JsResponse::ERROR; $response->msg = 'Произошла ошибка во время сохранения данных!'; } } return $response; }