如何设置ThinkPHP模型中的时间戳字段?

2026-05-08 02:400阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计956个文字,预计阅读时间需要4分钟。

如何设置ThinkPHP模型中的时间戳字段?

在ThinkPHP中使用模型保存数据时,若发现`createTime`或`updateTime`字段未自动写入,可能是时间戳功能未启用或字段配置不匹配。以下是解决此问题的步骤:

一、启用模型自动时间戳功能

ThinkPHP默认关闭模型级自动时间戳,必须显式开启才能触发字段自动写入行为。该设置优先于全局配置,且仅对当前模型生效。

1、在模型类中添加 protected 属性:$autoWriteTimestamp = true;

2、若需指定时间格式(如 datetime 而非 int),可设为:$autoWriteTimestamp = 'datetime';

立即学习“PHP免费学习笔记(深入)”;

3、确认该模型未继承自禁用时间戳的父类,且未被中间件或钩子动态关闭时间戳写入。

二、自定义时间戳字段名

当数据库表中时间字段名不是默认的 create_time 和 update_time 时,必须在模型中精确声明对应字段名,框架不会自动转换驼峰或下划线命名。

阅读全文
标签:PHPThinkPHP

本文共计956个文字,预计阅读时间需要4分钟。

如何设置ThinkPHP模型中的时间戳字段?

在ThinkPHP中使用模型保存数据时,若发现`createTime`或`updateTime`字段未自动写入,可能是时间戳功能未启用或字段配置不匹配。以下是解决此问题的步骤:

一、启用模型自动时间戳功能

ThinkPHP默认关闭模型级自动时间戳,必须显式开启才能触发字段自动写入行为。该设置优先于全局配置,且仅对当前模型生效。

1、在模型类中添加 protected 属性:$autoWriteTimestamp = true;

2、若需指定时间格式(如 datetime 而非 int),可设为:$autoWriteTimestamp = 'datetime';

立即学习“PHP免费学习笔记(深入)”;

3、确认该模型未继承自禁用时间戳的父类,且未被中间件或钩子动态关闭时间戳写入。

二、自定义时间戳字段名

当数据库表中时间字段名不是默认的 create_time 和 update_time 时,必须在模型中精确声明对应字段名,框架不会自动转换驼峰或下划线命名。

阅读全文
标签:PHPThinkPHP