我已经知道我可以在数据库表中创建名为“created”和“updated”的字段,并且Cake会自动插入适当的值。
但是,我想要做的是创建一个名为'followup'的新字段,并且每当插入新记录时,Cake会自动插入今天的日期加2周。换句话说,它就像创建日期,但未来2周。
我知道我可以手动在控制器中执行此操作,但我想知道是否有一种方法可以在模型/行为级别执行此操作,以便无论哪个控制器操作正在创建新记录,它都会自动发生。
答案 0 :(得分: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
)。