Передача данных в модель формы в Yii2?

Коллеги, такая задача:
Необходимо создать страницу с формой редактирования текущего пользователя

Что имею:
Есть таблица, модель и контроллер "User"

Требования:

Есть форма ActiveForm (editUser.php) и модель формы (UserEditForm.php)

Мне необходимо получить текущего пользователя в форме (editUser) которая использует модель UserEditForm (не модель User).
Как это передать из метода контроллера в форму, чтобы появились соответствующие значения в соответствующих полях, но при этом использовалась модель UserEditForm и наследовала она Model (не User)?

P.S. Всегда передавал из контроллера текущую модель, к сожалению с этим случаем не сталкивался. :(
  • Вопрос задан
  • 7136 просмотров
Решения вопроса 1
public function actionEditUser($id)
{
$user = User::find()->where('id = :id',[':id' => $id])->one();
if (!$user) {
    throw new NotFoundException('User is not found');
}
$model = new EditUserForm;
if ($model->load(Yii::$app->getRequest()->post()) && $model->validate()) {
    $user->setAttributes([
        'surname' => $model->surname,
        'name' => $model->name
    ]);
   $user->save(false); // сохраняем без валидации
             return $this->redirect(['editUser', 'id' => $user->id]);
    } else {
            return $this->render('editUser', ['model' => $model]);
    }
}


без подглядывания писал, возможно опечатки есть
но почему без модели Юзер?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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