CakePHP:自动设置模型创建和更新日期

时间:2010-12-13 02:26:51

标签: php datetime cakephp model cakephp-1.3

有没有办法在保存对象时配置CakePHP模型以自动设置时间戳,例如 created_on updated_on

我在考虑相当于Django的DateTimeField的 auto_now auto_now_add 选项。

我听说在某些框架中这是一个有争议的做法,但无论如何我想做到这一点。

如果你不能这样做,人们通常会在beforeSave()处理程序中设置时间戳,可能是通过检查模型数据是否已包含id字段并相应地设置创建数据?

谢谢,如果我错过了文档中的相关内容,我会道歉。

3 个答案:

答案 0 :(得分:12)

是的,CakePHP会自动为字段createdmodified执行此操作。

在MySQL中,这些字段的类型应为DATETIME(或DATE)且为NULLable。

答案 1 :(得分:3)

如果您将字段命名为createdmodified并将其命名为datetime,那么Cake将处理其余内容。 http://book.cakephp.org/complete/1000/Models#created-and-modified-1015

答案 2 :(得分:0)

实际上,使用“now()”更新mysql中的日期时间非常简单。

$updateField = array('last_login'=>'now()');