Quantcast
Channel: Yii Framework Forum
Viewing all articles
Browse latest Browse all 18717

Beforesave И Update

$
0
0
Здравствуйте. Наверное простой вопрос, но я не смог его сформулировать для поисковика.
Есть модель User в которой следующее:

public function rules()
	{
		
		return array(
		        ...
			array('created','safe'),
			
			// The following rule is used by search().
			// Please remove those attributes that should not be searched.
			array('id, username, role', 'safe', 'on'=>'search'),
			
		);
	}
...
protected function beforeSave() 
	{
		if($this->isNewRecord)
		{
			$this->created = time();
			$this->role = 0;
		}
		
		if($this->new_password) 
			$this->password = $this->hashPassword(trim($this->new_password));
			
		return parent::beforeSave();
	}

Controller
...
public function actionPassword($id)
	{
		$model = $this->loadModel($id);
		
		if(isset($_POST['User']))
		{
			$model->attributes = $_POST['User'];
			if($model->save())
			{
				Yii::app()->user->setFlash('updatePass','User password was change');
				$this->redirect(array('password','id'=>$model->id));
			}
		}
		$this->render('password',array(
			'model'=>$model,
		));
	}
...

Проблема в том, что при создании нового юзера, в поле created заносится дата создания нормально, но
при апдейте записи о юзере (смена пароля), поле created тоже апдейтится, туда заносится 0.
Как этого избежать ?

Viewing all articles
Browse latest Browse all 18717

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>