Добро времени суток! Столкнулся с такой проблемой, что путь и название к картинке не загружаются в бд, при этом она загружается на сервер) 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,
]);
}