/** * Updates an existing ProductCategory 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); $ProductCategorySelfRel_q = ProductCategorySelfRel::find()->where(['cat_id' => $id])->all(); if (empty($ProductCategorySelfRel_q)) { $ProductCategorySelfRel = new ProductCategorySelfRel(); } else { $ProductCategorySelfRel = new ProductCategorySelfRel(); $ProductCategorySelfRel->parent_cat_id = ArrayHelper::getColumn($ProductCategorySelfRel_q, 'parent_cat_id'); } $old_image = $model->image; if ($model->load(Yii::$app->request->post()) && $ProductCategorySelfRel->load(Yii::$app->request->post())) { $model_image = UploadedFile::getInstance($model, 'image'); $time = time(); if ($model_image) { $model->image = $time . $model_image->baseName . '.' . $model_image->extension; } else { $model->image = $old_image; } if ($model->save()) { if ($model_image) { $model_image->saveAs('category_img/' . $time . $model_image->baseName . '.' . $model_image->extension); } $ProductCategorySelfRel->cat_id = $model->id; if (empty($ProductCategorySelfRel->parent_cat_id)) { ProductCategorySelfRel::deleteAll(['cat_id' => $ProductCategorySelfRel->cat_id]); $ProductCategorySelfRel->parent_cat_id = 0; $ProductCategorySelfRel->save(); } else { ProductCategory::update_ProductCategory_self_rel($ProductCategorySelfRel); } return $this->redirect(['view', 'id' => $model->id]); } else { echo '<pre>'; var_dump($model->getErrors()); } } else { return $this->render('update', ['model' => $model, 'ProductCategorySelfRel' => $ProductCategorySelfRel]); } }
public static function update_ProductCategory_self_rel($model) { ProductCategorySelfRel::deleteAll(['cat_id' => $model->cat_id]); foreach ($model->parent_cat_id as $key => $value) { $new_model = new ProductCategorySelfRel(); $new_model->cat_id = $model->cat_id; $new_model->parent_cat_id = $value; if ($new_model->save()) { } else { throw new NotFoundHttpException('The requested page does not exist.'); } } return true; }
/** * Updates an existing ProductCategory 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); $ProductCategorySelfRel_q = ProductCategorySelfRel::find()->where(['cat_id' => $id])->all(); if (empty($ProductCategorySelfRel_q)) { $ProductCategorySelfRel = new ProductCategorySelfRel(); } else { $ProductCategorySelfRel = new ProductCategorySelfRel(); $ProductCategorySelfRel->parent_cat_id = ArrayHelper::getColumn($ProductCategorySelfRel_q, 'parent_cat_id'); } if ($model->load(Yii::$app->request->post()) && $ProductCategorySelfRel->load(Yii::$app->request->post())) { if ($model->save()) { $ProductCategorySelfRel->cat_id = $model->id; if (empty($ProductCategorySelfRel->parent_cat_id)) { ProductCategorySelfRel::deleteAll(['cat_id' => $ProductCategorySelfRel->cat_id]); $ProductCategorySelfRel->parent_cat_id = 0; $ProductCategorySelfRel->save(); } else { ProductCategory::update_ProductCategory_self_rel($ProductCategorySelfRel); } return $this->redirect(['view', 'id' => $model->id]); } else { echo '<pre>'; var_dump($model->getErrors()); } } else { return $this->render('update', ['model' => $model, 'ProductCategorySelfRel' => $ProductCategorySelfRel]); } }