backend\controllers\GoodsController::actionImg PHP Method

actionImg() public method

public actionImg ( $id )
    public function actionImg($id)
    {
        /* @var $model Goods */
        $model = Goods::findOne($id);
        if (!$model) {
            throw new NotFoundHttpException('未找到该商品。');
        }
        $model->setScenario('updateImages');
        if (Yii::$app->request->isPost) {
            $model->photos = UploadedFile::getInstances($model, 'photos');
            if ($model->validate()) {
                $transaction = Yii::$app->db->beginTransaction();
                try {
                    $imgs = [];
                    foreach ($model->photos as $key => $image) {
                        $imgs[$key] = new GoodsImg();
                        $imgs[$key]->goods_id = $model->id;
                        $imgs[$key]->name = Yii::$app->security->generateRandomString(10) . '.' . $image->extension;
                        if (!$imgs[$key]->save(false)) {
                            throw new \Exception();
                        }
                    }
                    foreach ($model->photos as $key => $image) {
                        $image->saveAs(Yii::getAlias(Yii::$app->params['goods.imagePath']) . DIRECTORY_SEPARATOR . $imgs[$key]->name);
                    }
                    $transaction->commit();
                    Yii::$app->session->setFlash('success', '更新成功!');
                    return $this->refresh();
                } catch (\Exception $e) {
                    $transaction->rollBack();
                    Yii::$app->session->setFlash('danger', '更新失败!');
                }
            }
        }
        return $this->render('form-img', ['model' => $model]);
    }