public function actionMain()
 {
     $params = Yii::$app->request->queryParams;
     $region = 1;
     if (!empty($params['MainSearch']['region'])) {
         $region = $params['MainSearch']['region'];
     }
     if (!empty($params['id'])) {
         $model = Main::find()->where(['id' => $params['id']])->one();
         $arrayParams = ['MainSearch' => ['region' => $model->region]];
     } else {
         $model = new Main();
         $model->region = $region;
         $arrayParams = ['MainSearch' => ['region' => $region]];
     }
     if ($model->load(Yii::$app->request->post())) {
         if ($model->validate()) {
             if (!$model->isNewRecord) {
                 MainTrashPlace::deleteAll(['main_id' => $model->id]);
                 MainTrashMan::deleteAll(['main_id' => $model->id]);
                 MainTrashRelation::deleteAll(['main_id' => $model->id]);
                 MainTrashRecycle::deleteAll(['main_id' => $model->id]);
                 MainRubberItems::deleteAll(['main_id' => $model->id]);
             }
             $model->save();
             $main = Yii::$app->request->post()['Main'];
             if (!empty($main['places'])) {
                 foreach ($main['places'] as $value) {
                     $relationModel = new MainTrashPlace();
                     $relationModel->main_id = $model->id;
                     $relationModel->trash_place_id = $value;
                     $relationModel->save();
                 }
             }
             if (!empty($main['men'])) {
                 foreach ($main['men'] as $value) {
                     $relationModel = new MainTrashMan();
                     $relationModel->main_id = $model->id;
                     $relationModel->trash_man_id = $value;
                     $relationModel->save();
                 }
             }
             if (!empty($main['relations'])) {
                 foreach ($main['relations'] as $value) {
                     $relationModel = new MainTrashRelation();
                     $relationModel->main_id = $model->id;
                     $relationModel->trash_relation_id = $value;
                     $relationModel->save();
                 }
             }
             if (!empty($main['recycles'])) {
                 foreach ($main['recycles'] as $value) {
                     $relationModel = new MainTrashRecycle();
                     $relationModel->main_id = $model->id;
                     $relationModel->trash_recycle_id = $value;
                     $relationModel->save();
                 }
             }
             if (!empty($main['rubberItemsData'])) {
                 foreach ($main['rubberItemsData'] as $value) {
                     $relationModel = new MainRubberItems();
                     $relationModel->main_id = $model->id;
                     $relationModel->rubber_item_id = $value;
                     $relationModel->save();
                 }
             }
             $arrayParams['id'] = $model->id;
             $params = array_merge(["site/index"], $arrayParams);
             $url = Yii::$app->urlManager->createUrl($params);
             return $this->redirect($url);
         }
     }
     $model->places = ArrayHelper::getColumn($model->mainTrashPlaces, 'trash_place_id');
     $model->men = ArrayHelper::getColumn($model->mainTrashMen, 'trash_man_id');
     $model->relations = ArrayHelper::getColumn($model->mainTrashRelations, 'trash_relation_id');
     $model->recycles = ArrayHelper::getColumn($model->mainTrashRecycles, 'trash_recycle_id');
     $model->rubberItemsData = ArrayHelper::getColumn($model->mainRubberItems, 'rubber_item_id');
     return $this->render('main', ['model' => $model, 'region' => $region]);
 }
Пример #2
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getMainTrashPlaces()
 {
     return $this->hasMany(MainTrashPlace::className(), ['main_id' => 'id']);
 }