@nnkrasovok

Почему не происходит запись названия файла в БД?

Реализовала добавление файла. Файл сохраняется в папке проекта, но название не передается в бд. не могу понять почему

модель UploadCVForm, где сохраняется файл в папку и возвращается название файла
public $file;


    public function upload(UploadedFile $file)
    {
        $this->file = $file;
        $filename = strtolower(md5(uniqid($file->baseName)). '.' .$file->extension);
        $file->saveAs('uploads/' . $filename);
        return $filename;
    }


контроллер
$model_file = new UploadCVForm();

        if (\Yii::$app->request->isPost) {
            $profile = $this->module->manager->findProfileById(\Yii::$app->user->identity->getId());
            $file = UploadedFile::getInstance($model_file, 'file');
            $profile->saveFile($model_file->upload($file));
            if ($model_file->upload($file)) {
                // file is uploaded successfully
                return $this->refresh();
            }
        }


метод saveFile модели, где по идее должно сохраняться название файла в поле (CV) таблицы
public function saveFile($filename)
    {
        $this->CV = $filename;
        return $this->save(false);
    }


и вьюшка
<?php $form = \yii\widgets\ActiveForm::begin(['options' => ['enctype' => 'multipart/form-data']]) ?>

                <?= $form->field($model_file, 'file')->fileInput() ?>

                <?= \yii\helpers\Html::submitButton(Yii::t('user', 'Добавить'), ['class' => 'btn btn-success']) ?><br>

                <?php \yii\widgets\ActiveForm::end() ?>
  • Вопрос задан
  • 58 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы