我尝试使用CakePHP 2.1中的模型回调函数中的现有模型数据,但无法使其工作。 我所做的是我尝试在beforeValidate()回调中获得用户角色,并检查它是否为空。如果是,我会设置它。通常我会这样做,并且对于第一次创建的记录来说它工作得很好。在CakePHP模型回调函数中接收模型数据
if (empty($this->data[$this->alias]['role']))
$this->data[$this->alias]['role'] = 'user';
问题是,每当现有记录(用户)被更新时,角色将被重新设置。
问:那么,我该如何检查,如果场role
在记录数据,而不是POST数据已经设置(好像$this->data[$this->alias]
只包含POST数据)?
谢谢Jeremy,这看起来像是一个很好而干净的解决方案。 –
酷,很高兴的选项之一工作!请记住,前两个将始终是最快,最少(可能)错误的选项。 – jeremyharris