コード例 #1
0
 /**
  * Updates an existing Peoples model.
  * If update is successful, the browser will be redirected to the 'view' page.
  * @param integer $id
  * @return mixed
  */
 public function actionUpdate($id)
 {
     $model = $this->findModel($id);
     if ($model->load(Yii::$app->request->post())) {
         $birth = date('Y-m-d', strtotime($model->peopleBirthday));
         $fluDate = date('Y-m-d', strtotime($model->peopleFluDate));
         $model->peopleBirthday = $birth;
         $model->peopleFluDate = $fluDate;
         $currentYear = date('Y');
         $model->peopleFluTerm = $currentYear - date('Y', strtotime($model->peopleFluDate));
         //Вычисляю разницу текущего года и даты флюры
         $model->save();
         graftsPeoples::deleteAll('peopleId = ' . $id);
         chronicDiseasesPeoples::deleteAll('peopleId = ' . $id);
         foreach ($model->graft as $m) {
             $gm = new graftsPeoples();
             $gm->peopleId = $model->peopleId;
             $gm->graftId = $m;
             $gm->insert();
         }
         foreach ($model->chronic as $c) {
             $cr = new chronicDiseasesPeoples();
             $cr->peopleId = $model->peopleId;
             $cr->chronicDiseasesId = $c;
             $cr->insert();
         }
         return $this->redirect(['view', 'id' => $model->peopleId]);
     } else {
         $opt = graftsPeoples::find()->where(['peopleId' => $_GET['id']])->all();
         $optArr = array();
         foreach ($opt as $o) {
             $optArr[] = $o['graftId'];
         }
         $opt2 = chronicDiseasesPeoples::find()->where(['peopleId' => $_GET['id']])->all();
         $optArr2 = array();
         foreach ($opt2 as $op) {
             $optArr2[] = $op['chronicDiseasesId'];
         }
         $model->graft = $optArr;
         $model->chronic = $optArr2;
         return $this->render('update', ['model' => $model]);
     }
 }