Метод beforeSave() не срабатывает
Добавлено: 2014.08.18, 08:42
Всем привет! Только недавно начал изучать yii (1.1.15) и возник очень глупый вопрос. Прошу сильно не пинать и не отсылать на гугл, т.к. устал гуглить...
Вопрос следующий: создал первое приложение testdrive и там по умолчанию, при создании нового юзера, сохранение его данных идет в таблицу tbl_user.
Я хотел сделать, чтобы пароль сохранялся не в явном виде, а в виде хеша. Для этого в модели user (class User extends CActiveRecord) переопределяю метод beforeSave():
Но почему то этот метод beforeSave() не срабатывает, подскажите плз почему...
ps в контроллере пока так прописал
Вопрос следующий: создал первое приложение testdrive и там по умолчанию, при создании нового юзера, сохранение его данных идет в таблицу tbl_user.
Я хотел сделать, чтобы пароль сохранялся не в явном виде, а в виде хеша. Для этого в модели user (class User extends CActiveRecord) переопределяю метод beforeSave():
Код: Выделить всё
public function hashPassword($password)
{
return CPasswordHelper::hashPassword($password);
}
protected function beforeSave()
{
//перед сохранением шифруем пароль
if (parent::beforeSave()===false) {
echo "Родитель запретил переопределять!<br/>\n";
return false;
}
echo "hi from beforeSave!!!<br/>\n";
if($this->isNewRecord)
$this->password = $this->hashPassword ($this->password);
return true;
}
ps в контроллере пока так прописал
Код: Выделить всё
public function actionCreate()
{
$model=new User;
// Uncomment the following line if AJAX validation is needed
// $this->performAjaxValidation($model);
if(isset($_POST['User']))
{
$model->attributes=$_POST['User'];
if($model->save())
//$this->redirect(array('view','id'=>$model->id));
echo "Model save";
//print_r($model);
}
$this->render('create',array(
'model'=>$model,
));
}