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 (出处: 全网资源菌)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,308评论 19 139
  • 这段时间,都在补东野圭吾的小说。而《信》,最让人难过。 贫苦家庭的兄弟两,没有父母,而哥哥为了弟弟想读大学的愿...
    林kf阅读 929评论 0 0
  • 很多同学认为考研初试时已经考察过他们的专业课能力,在复试时专业课的笔试成绩只会占很小的比重,要把重点放在面试上~~...
    楚墨1995阅读 890评论 0 0