有没有办法在保存对象时配置CakePHP模型以自动设置时间戳,例如 created_on 和 updated_on ?
我在考虑相当于Django的DateTimeField的 auto_now 和 auto_now_add 选项。
我听说在某些框架中这是一个有争议的做法,但无论如何我想做到这一点。
如果你不能这样做,人们通常会在beforeSave()处理程序中设置时间戳,可能是通过检查模型数据是否已包含id字段并相应地设置创建数据?
谢谢,如果我错过了文档中的相关内容,我会道歉。
答案 0 :(得分:12)
是的,CakePHP会自动为字段created
和modified
执行此操作。
在MySQL中,这些字段的类型应为DATETIME(或DATE)且为NULLable。
答案 1 :(得分:3)
如果您将字段命名为created
和modified
并将其命名为datetime
,那么Cake将处理其余内容。 http://book.cakephp.org/complete/1000/Models#created-and-modified-1015
答案 2 :(得分:0)
实际上,使用“now()”更新mysql中的日期时间非常简单。
$updateField = array('last_login'=>'now()');