cakephp beforesave问题

use*_*198 1 cakephp model cakephp-1.3

我跟着book.cake,我不知道我应该向参数发送一些东西.

function beforeSave() {
if (!empty($this->data['Article']['create_dt']) && !empty($this->data['Article']['modified_dt'])) {
        $this->data['Article']['create_dt'] = $this->dateFormatBeforeSave($this->data['Article']['create_dt']);
        $this->data['Article']['modified_dt'] = $this->dateFormatBeforeSave($this->data['Article']['modified_dt']);
}
return true;
}
Run Code Online (Sandbox Code Playgroud)

我尝试搜索示例,但没有找到.我需要很多例子,
有人可以帮我找到大资源感谢建议

dec*_*eze 6

beforeSaveCake会在保存数据之前自动调用它.在其中,您可以在每次保存之前做任何您想做的事情.通常这意味着改变$this->data,即将要保存的数据.

该方法传递一个参数:表单的数组array('validate' => true/false, ('fieldList' => array(...)).这对应于您可以提供的两个额外参数save():

$this->Model->save($this->data, false, array('foo', 'bar'));
Run Code Online (Sandbox Code Playgroud)

在这种情况下,阵列看起来像
array('validate' => false, 'fieldList' => array('foo', 'bar')).

您可以通过指定参数来接受此数组:

public function beforeSave($options) { ... }
Run Code Online (Sandbox Code Playgroud)

$options将如上所述.您可以以任何方式使用此信息.

如果您不return truebeforeSave,则完全取消保存操作.

就这样.