我有一個'Users
'表,我保留所有帳戶相關的數據。它包含id, username, password, status, removed, last_login
CakePHP更新2列
默認情況下,創建帳戶時,status = 2
和removed = 0
。
我有一個拒絕應用程序的函數。當管理員拒絕應用程序時,status = 0
和removed = 1
。
現在,我的問題是,當我嘗試更新這些字段時,我也注意到我的密碼字段也更新。
這裏是我的拒絕代碼:
public function deny(){
$user_id = $this->request->params['pass'][0];
if(!$user_id){
$this->Session->setFlash('Invalid action!', 'alert_box', array('class' => 'alert-danger'), 'member');
$this->redirect(array('controller' => 'admin', 'action' => 'member'));
}else if($user_id){
$this->User->id = $user_id;
if($this->User->save(array('User' => array('status' => 0,'removed' => 1)))){
$this->Session->setFlash('Successfully denied the application of the selected applicant!', 'alert_box', array('class' => 'alert-success'), 'member');
}else{
$this->Session->setFlash('Failed to deny the application of the selected applicant!', 'alert_box', array('class' => 'alert-danger'), 'member');
}
$this->redirect(array('controller' => 'admin', 'action'=>'member'));
}
}
我不知道爲什麼我的密碼是不斷變化的。但更多的信息,這是我的用戶:: beforeSave:
public function beforeSave($options = array()) {
$this->data['User']['password'] = AuthComponent::password(
$this->data['User']['password']
);
return true;
}
中存在'我不知道爲什麼我的密碼也在改變 - 你的保存前的函數無條件地將密碼添加到要保存的數據中,無論它是否存在於$ this-> data中。真的:這樣做的後果是不是一個無關緊要的保存? – AD7six