0

我已经知道我可以在数据库表中创建名为“created”和“updated”的字段,并且 Cake 会自动插入适当的值。

但是,我想做的是创建一个名为“跟进”的新字段,并让 Cake 在插入新记录时自动插入今天的日期加上 2 周。换句话说,它就像创建日期一样,但在未来 2 周。

我知道我可以在控制器中手动执行此操作,但我想知道是否有办法在模型/行为级别执行此操作,以便无论哪个控制器操作正在创建新记录,它都会自动发生。

4

1 回答 1

2

您可以简单地beforeSave在模型中使用回调:

public function beforeSave(array $options) {
    if (empty($this->data[$this->alias]['id']) && !$this->id) {
        $this->data[$this->alias]['followup'] = date('Y-m-d H:i:s', strtotime('+2 weeks'));
    }
    return true;
}

这会自动将followup日期添加到任何新记录(不带id)。

于 2012-04-13T01:37:11.490 回答