ThinkPHP模型中自带的时间戳功能创建和更新的用法

在使用ThinkPHP模型的时候,我们可以自动使用时间戳功能,而不需要像PHP原生一样把时间戳通过PHP函数进行转化为常见的日期格式,TP里的时间戳字段是可以支持自动格式化输出。系统支持自动写入数据库中创建和更新时间戳字段两种,在使用这两种时间戳前需要一定的配置支持,下面小菌为大家介绍一下具体的用法。

首先需要配置支持有两种方式,第一种方式,是在数据库配置文件中添加全局设置,它的路径是\TP根目录\application\database.php,需要把里面的配置'auto_timestamp' => true;。第二种方式,是直接在单独的模型类里面设置,它的路径就是你的模型类的文件例如\TP根目录\application\index\model\XXX.php,这里需要在创建的类里面加入protected $autoWriteTimestamp = true;,如果这两个地方设置是true,默认的数据库中时间戳类型识别为整型int类型,如果你的时间戳字段不是int类型的话,例如使用datetime类型的话,那么应该这样设置: 'auto_timestamp' => 'datetime', 或者 protected $autoWriteTimestamp = 'datetime';,数据库中的时间戳字段名,创建时间字段名为create_time,更新时间字段名为update_time,支持的字段类型包括timestamp/datetime/int这三种。写入数据的时候,系统会自动写入create_time和update_time字段,而不需要定义修改器,在模板显示的时候直接使用{$data.create_time}即可,而原生的显示时间的写法假如是这样{$data.create_time|date='Y-m-d H:i:s',### },它的输出类似 2016-10-12 14:20:10,是不是简化很多代码了呢,小伙伴们?

如果你只需要使用create_time字段而不需要自动写入update_time,则可以单独设置关闭某个字段;如果不需要任何自动写入的时间戳字段的话,可以关闭时间戳自动写入功能;如果是关闭全局的自动时间写入,则如下图所示:

ThinkPHP模型中自带的时间戳功能创建和更新的用法

https://www.qwzyj.com/thread-169-1-1.html

(出处: 全网资源菌)

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180212A15R3800?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券