我有一个用户模型,它有很多乐器和流派。当我使用以下代码时,仪器和流派会保存:
$this->User->saveAll($this->data, array(
'fieldList' => array('User', 'UserInstrument', 'Genre')))
)
但用户没有。User, UserInstrument, Genre, UserGenre, Instrument
我的调试器 ( )中的所有 invalidFields 数组都是空的。
不过,我注意到的一件奇怪的事情是在这里:
public function beforeSave() {
// get the password reset
if(isset($this->data[$this->alias]['password_reset'])) {
$this->data[$this->alias]['password'] = $this->data[$this->alias]['password_reset'];
unset($this->data[$this->alias]['password_reset']);
}
// get rid of the password confirm
if(isset($this->data[$this->alias]['password_confirm'])) {
unset($this->data[$this->alias]['password_confirm']);
}
// hash the password
if (isset($this->data[$this->alias]['password'])) {
$this->data[$this->alias]['password'] = AuthComponent::password($this->data[$this->alias]['password']);
}
return true;
}
我正在取消设置password_reset
and password_confirm
,但是在保存完成后,这些字段会神奇地重新出现$this->data['User']
(可能是从 重新抓取的$_POST
)。但如果保存时出错,则saveAll
返回 false。我的错误日志中也没有任何内容。
关于为什么这会默默失败的任何想法?谢谢!