Не удается обновить изображение в проекте yii

0

Я хотел бы загрузить изображение и сохранить имя изображения в базе данных. Я могу создать его, и все в порядке, но обновление имеет проблемы. Если я обновляю значение $model-> img (изображение), оно будет пустым в db. Это мои модельные правила:

            array('img', 'file','types'=>'jpg, gif, png, jpeg', 'allowEmpty'=>true, 'on'=>'update'),
            array('title, img', 'length', 'max'=>255, 'on'=>'insert,update'),

И это контроллер:

    public function actionUpdate($id)
    {
        $model=$this->loadModel($id);
                $_SESSION['KCFINDER']['disabled'] = false;
                $_SESSION['KCFINDER']['uploadURL'] = Yii::app()->baseUrl."/../images/"; // URL for the uploads folder
                $_SESSION['KCFINDER']['uploadDir'] = Yii::app()->basePath."/../../images/"; // path to the uploads folder
        // $this->performAjaxValidation($model);
        if(isset($_POST['News']))
        {
                    $_POST['News']['img'] = $model->img;
                    $model->attributes=$_POST['News'];
                    $model->img = $_POST['News']['img'];
                        $uploadedFile=CUploadedFile::getInstance($model,'img');

            if($model->save()){
                            if(!empty($uploadedFile)) 
                            {
                                    $uploadedFile->saveAs(Yii::app()->basePath.'/../../images/'.$model->img);
                            }
                        }
                $this->redirect(array('view','id'=>$model->id));
        }

        $this->render('update',array(
            'model'=>$model,
        ));
    }

Перед сохранением я проверяю $model-> img и имеет значение. Поэтому я думаю, что что-то не так с save() в обновлении.

Теги:
yii

1 ответ

0

$_POST['News']['img'] = $model->img; Почему вы это сделали? Вы должны удалить эту строку.

 $model->attributes=$_POST['News'];
 $model->img = $_POST['News']['img'];
  • 0
    Ты ответь. Это не работает. Если я уберу эту строку, результат не будет в порядке. Вам нужно больше кода?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню