Реализовала добавление файла. Файл сохраняется в папке проекта, но название не передается в бд. не могу понять почему
модель 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() ?>