コード例 #1
0
ファイル: NewsController.php プロジェクト: sahartak/armbuy
 /**
  * Updates an existing News 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);
     $loaded = $model->load(Yii::$app->request->post());
     if ($loaded) {
         if ($model->is_published) {
             $model->published = date('Y-m-d H:i:s');
         }
     }
     if ($loaded && $model->save()) {
         $model->upload();
         $category_relations = $_POST['News']['categories'];
         CategoryRelations::deleteAll(['news_id' => $model->id]);
         foreach ($category_relations as $cat_id) {
             $category_relation = new CategoryRelations();
             $category_relation->news_id = $model->id;
             $category_relation->category_id = $cat_id;
             $category_relation->save();
         }
         return $this->redirect(['view', 'id' => $model->id]);
     } else {
         $categories_arr = Category::find()->asArray()->all();
         foreach ($categories_arr as &$cat) {
             $categories[$cat['id']] = $cat['name'];
         }
         foreach ($model->categoryRelations as $rel) {
             $model->categories[] = $rel->category_id;
         }
         return $this->render('update', compact('model', 'categories'));
     }
 }