public function actionUpload_product() { if (Yii::$app->request->isAjax) { $model = new ProductCategory(); $Product = new Product(); $ProductImageRel = new ProductImageRel(); $ProductCategoryRel = new ProductCategoryRel(); $model_cat_title = UploadedFile::getInstance($model, 'cat_title'); $time = time(); $model_cat_title->saveAs('product_uploads/' . $time . $model_cat_title->baseName . '.' . $model_cat_title->extension); if ($model_cat_title) { $response = []; $Product->title = $_POST['title']; $Product->desc = $_POST['desc']; $Product->status = 1; if ($Product->save()) { $ProductCategoryRel->category_id = $_POST['id']; $ProductCategoryRel->product_id = $Product->id; $ProductImageRel->product_id = $Product->id; $ProductImageRel->image = $time . $model_cat_title->baseName . '.' . $model_cat_title->extension; if ($ProductCategoryRel->save() && $ProductImageRel->save()) { $response['files'][] = ['name' => $time . $model_cat_title->name, 'type' => $model_cat_title->type, 'size' => $model_cat_title->size, 'url' => Url::base() . '/product_uploads/' . $time . $model_cat_title->baseName . '.' . $model_cat_title->extension, 'deleteUrl' => Url::to(['delete_uploaded_file', 'file' => $model_cat_title->baseName . '.' . $model_cat_title->extension]), 'deleteType' => 'DELETE']; $response['base'] = $time . $model_cat_title->baseName; $response['view'] = $this->renderAjax('uploaded_product', ['url' => Url::base() . '/product_uploads/' . $time . $model_cat_title->baseName . '.' . $model_cat_title->extension, 'basename' => $time . $model_cat_title->baseName, 'id' => $ProductImageRel->id, 'model' => $Product]); } } else { $response['errors'] = $product->getErrors(); } return json_encode($response); } } }
public static function update_product_category_rel($model) { ProductCategoryRel::deleteAll(['product_id' => $model->product_id]); foreach ($model->category_id as $key => $value) { $new_model = new ProductCategoryRel(); $new_model->product_id = $model->product_id; $new_model->category_id = $value; if ($new_model->save()) { } else { throw new NotFoundHttpException('The requested page does not exist.'); } } return true; }
public function actionUpdate_ajax() { if (Yii::$app->request->isAjax) { if (isset($_POST['Product'])) { $model = $this->findModel($_POST['Product']['id']); $model->attributes = $_POST['Product']; if ($model->save()) { $ProductCategoryRel = new ProductCategoryRel(); $ProductCategoryRel->product_id = $model->id; if (empty($_POST['ProductCategoryRel'])) { ProductCategoryRel::deleteAll(['product_id' => $ProductCategoryRel->product_id]); $ProductCategoryRel->category_id = 0; $ProductCategoryRel->save(); } else { $ProductCategoryRel->category_id = $_POST['ProductCategoryRel']['category_id']; Product::update_product_category_rel($ProductCategoryRel); } $response['files'] = '<img src="' . Url::base() . '/product_uploads/' . $model->product_image[0]->image . '" alt="' . $model->product_image[0]->image . '" width="100%">'; $response['id'] = $model->id; $response['title'] = $model->title; $response['result'] = 'success'; return json_encode($response); } else { $response['result'] = 'error'; $response['files'] = Html::errorSummary($model); return json_encode($response); } } } }