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

发布于 2024-10-07 10:29:33 字数 374 浏览 2 评论 0原文

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

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

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

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

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

Is there a way to configure CakePHP models to automatically set timestamps, such as created_on and updated_on, when saving the object?

I'm thinking of an equivalent to Django's DateTimeField's auto_now and auto_now_add options.

I've heard this is a controversial practice in some frameworks, but I want to do it anyway.

If you can't do this, do people normally set the timestamps in the beforeSave() handlers, perhaps by checking if the model data already contains an id field and setting a creation data accordingly?

Thanks, and apologies if I've missed the relevant bit in the docs.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

地狱即天堂 2024-10-14 10:29:33

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

在 MySQL 中,这些字段的类型应该是 DATETIME(或 DATE)和 NULLable。

Yes, CakePHP does this automagically for the fields created and modified.

In MySQL, the type for these fields should be DATETIME (or DATE) and NULLable.

提笔书几行 2024-10-14 10:29:33

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

If you name your fields created and modified and make them of type datetime, Cake will handle the rest. http://book.cakephp.org/complete/1000/Models#created-and-modified-1015

忘羡 2024-10-14 10:29:33

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

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

Actually, use "now()" for updating datetime in mysql is simple and easy.

$updateField = array('last_login'=>'now()');
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文