Подскажите, пожалуйста, в чем моя ошибка?
Имею стандартный CRUD пользователей на backend. Что-бы не делать лишних телодвижений в index, view, в модели сделал следующую функцию и вызываю ее в afterFind().
Код: Выделить всё
public function statusLabel()
{
$this->status = $this->status === self::STATUS_ACTIVE ? 'Активен' : 'Удален';
}
Для смены пароля сделал отдельный action:
Код: Выделить всё
public function actionChangePass($id)
{
$model = $this->findModel($id);
$model->scenario = User::SCENARIO_CHANGE_PASSWORD;
if ($model->load(Yii::$app->request->post())) {
$model->setPassword($model->password);
if ($model->save()) {
return $this->redirect(['view', 'id' => $model->id]);
}
}
return $this->render('change', [
'model' => $model,
]);
}
Код: Выделить всё
self::SCENARIO_CHANGE_PASSWORD => ['password'],
Возникает вопрос, почему изменяется статус, если в сценарии прописано только поле пароля?