@Heckfy325
Начинающий программист. Простите за глупые вопросы

Почему не загружается картинка в бд?

Добро времени суток! Столкнулся с такой проблемой, что путь и название к картинке не загружаются в бд, при этом она загружается на сервер) YII2.

вид:
<?php $form = ActiveForm::begin(['options' => ['enctype' => 'multipart/form-data']]); ?>
<?= $form->field($model, 'img')->fileInput() ?>
<?= Html::submitButton('Сохранить', ['class' => 'btn btn-success']) ?>
<?php ActiveForm::end(); ?>


модель:
public $img;

public function rules()
    {
        return [
            [['img'], 'file', 'extensions' => 'png, jpg']
        ];
    }

public function upload(){
        if($this->validate()){
            $path = 'images/' . $this->img->baseName . '.' . $this->img->extension;
            $this->img->saveAs($path);
            return true;
        }else{
            return false;
        }
    }


контроллер:
public function actionUpdate($id)
    {
        $model = $this->findModel($id);

        if ($model->load(Yii::$app->request->post()) && $model->save()) {
            //загрузка картинки
            $model->img = UploadedFile::getInstance($model, 'img');
            if ($model->img) {
                $model->upload();
            }

            return $this->redirect(['view', 'id' => $model->id]);
        }

        return $this->render('update', [
            'model' => $model,
        ]);
    }
  • Вопрос задан
  • 52 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы