public function actionCreate() { $model = new Installakt(); if ($model->load(Yii::$app->request->post()) && $model->save()) { Proc::RemoveLastBreadcrumbsFromSession(); // Удаляем последнюю хлебную крошку из сессии (Создать меняется на Обновить) return $this->redirect(['update', 'id' => $model->installakt_id]); } else { $model->installakt_date = empty($model->installakt_date) ? date('Y-m-d') : $model->installakt_date; return $this->render('create', ['model' => $model]); } }
public function save($IDinstaller) { if ($this->validate()) { $transaction = Yii::$app->db->beginTransaction(); try { $Installakt = new Installakt(); $Installakt->installakt_date = date('Y-m-d'); $Installakt->id_installer = $IDinstaller; if ($Installakt->save()) { $Mattraffic = new Mattraffic(); $Mattraffic_choose = Mattraffic::findOne($this->id_mattraffic); $Mattraffic->attributes = $Mattraffic_choose->attributes; $Mattraffic->mattraffic_date = date('Y-m-d'); $Mattraffic->mattraffic_number = empty($this->mattraffic_number) ? 1 : $this->mattraffic_number; $Mattraffic->mattraffic_tip = 3; if ($Mattraffic->save()) { $trOsnov = new TrOsnov(); $trOsnov->id_installakt = $Installakt->primaryKey; $trOsnov->id_mattraffic = $Mattraffic->primaryKey; $trOsnov->tr_osnov_kab = $this->tr_osnov_kab; if ($trOsnov->save()) { $this->mattraffic_trosnov_id = $trOsnov->primaryKey; $this->primaryKey = $trOsnov->primaryKey; $transaction->commit(); return true; } else { $transaction->rollBack(); return false; } } else { $this->addError('mattraffic_number', $Mattraffic->getErrors('mattraffic_number')[0]); $transaction->rollBack(); return false; } } else { $transaction->rollBack(); return false; } } catch (Exception $e) { $transaction->rollBack(); throw new Exception($e->getMessage()); } } else { return false; } }