【问题标题】:CakePHP: auto-set model create and update datesCakePHP:自动设置模型创建和更新日期
【发布时间】:2010-12-13 02:26:50
【问题描述】:

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

我正在考虑等效于 Django 的 DateTimeField 的 auto_nowauto_now_add 选项。

我听说在某些框架中这是一种有争议的做法,但我还是想这样做。

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

谢谢,如果我错过了文档中的相关部分,我们深表歉意。

【问题讨论】:

  • 谢谢大家,'created' 和 'updated' 是神奇的字段名称。现在一切正常。

标签: php datetime cakephp model cakephp-1.3


【解决方案1】:

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

在 MySQL 中,这些字段的类型应该是 DATETIME(或 DATE)并且可以为 NULL。

【讨论】:

    【解决方案2】:

    如果您将字段命名为 createdmodified 并将它们的类型设置为 datetime,Cake 将处理其余部分。 http://book.cakephp.org/complete/1000/Models#created-and-modified-1015

    【讨论】:

      【解决方案3】:

      其实在mysql中使用now()来更新日期时间很简单。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多