/** * Creates a new model. * If creation is successful, the browser will be redirected to the 'view' page. */ public function actionCreate($personid) { $model = new Personbenefits(); $model->PersonID = intval($personid); $valid = true; // Uncomment the following line if AJAX validation is needed // $this->performAjaxValidation($model); if (isset($_POST['Personbenefits'])) { $model->attributes = $_POST["Personbenefits"]; $valid = $model->validate() && $valid; if ($valid && $model->save()) { $person = Person::model()->findByPk($model->PersonID); echo CJSON::encode(array("result" => "success", "data" => $this->renderPartial("//person/tabs/_benefits", array('models' => $person->benefits, "personid" => $model->PersonID), true))); } else { echo CJSON::encode(array("result" => "error", "data" => $this->renderPartial('_form', array('model' => $model), true))); } Yii::app()->end(); } $this->renderPartial('_Modal', array('model' => $model, true)); }
public function afterSave() { // автоматическое добавление льготы if ($this->CoursedpID > 0) { $ben = Personbenefits::model()->find("PersonID = {$this->PersonID} and BenefitID = 41"); if (empty($ben)) { $ben = new Personbenefits("CONVERT"); $ben->PersonID = $this->PersonID; $ben->BenefitID = 41; $ben->save(); } if (!in_array($ben->idPersonBenefits, $this->benefits)) { $this->benefits[] = $ben->idPersonBenefits; } } else { } // Сохраняем массив льгот привязанных к специальности Personspecialitybenefits::model()->deleteAll("PersonSpecialityID = {$this->idPersonSpeciality}"); if (!empty($this->benefits) && is_array($this->benefits)) { foreach ($this->benefits as $val) { $item = Personspecialitybenefits::model()->findByPk(array("PersonBenefitID" => $val, 'PersonSpecialityID' => $this->idPersonSpeciality)); if (count($item) == 0) { $item = new Personspecialitybenefits(); } $item->PersonBenefitID = $val; $item->PersonSpecialityID = $this->idPersonSpeciality; $item->save(); } } return parent::afterSave(); }