Я хочу обновить загруженное изображение в yii2. Я не знаю, что я должен написать в своем actionUpdate. Я должен отображать старое изображение аватара при вводе обновления. Помогите мне, ребята.
Моя форма yii2
<?= $form->field($model, 'username')->textInput(['maxlength' => true])?>
<?= $form->field($model, 'email')->textInput(['maxlength' => true]) ?>
<?= $form->field($model, 'password')->passwordInput(['maxlength' => true]) ?>
<?= $form->field($model, 'avatar')->label(false)->fileInput(['accept'=>'image/*', 'class'=>'btn btn-light image-upload ']) ?>
<?= $form->field($model, 'status')->textInput() ?>
<div class="form-group" style="margin-top: 10px">
<?= Html::submitButton('Save', ['class' => 'btn btn-light']) ?>
</div>
Мой контроллер действий. Работает четко.
public function actionCreate()
{
$model = new User();
if ($model->load(Yii::$app->request->post())) {
$model->created_date = date("Y-m-d H:i:s");
$model->updated_date = date("Y-m-d H:i:s");
$model->creator = Yii::$app->user->getId();
$model->generatePassword($model->password);
if ($model->save()){
$model->file = UploadedFile::getInstance($model, 'avatar');
$model->saveAvatarImage();
$model->avatar = $model->file->baseName . '.' . $model->file->extension;
if ($model->save()){
return $this->redirect(['view', 'id' => $model->id]);
}else {
return debug($model->errors);
}
}else{
return debug($model->errors);
}
}
return $this->render('create', [
'model' => $model,
]);
}
Проблема здесь. Я не знаю, что я пишу. Я должен отобразить старую картинку аватара на входе, которая в обновленном виде. Мой контроллер обновлений:
public function actionUpdate($id)
{
$model = $this->findModel($id);
$oldavatar = $model->avatar;
if ($this->request->isPost && $model->load($this->request->post()) && $model->save()) {
return $this->redirect(['view', 'id' => $model->id]);
}
return $this->render('update', [
'model' => $model,
]);
}