ThinkPHP5模型操作中的自动时间戳总结

时间:2022-12-14 21:05:06

  ThinkPHP5中提供了非常优秀的自动时间戳功能。使用起来非常方便。

  但是官网手册中的说明还是不是很详尽,因此整理再次,以方便后续使用时查阅。


一、一般情况下的自动填充create_time,update_time两个字段

  对于固定的时间戳和时间日期型的字段,比如文章的创建时间、修改时间等字段,还有比设置类型转换更简单的方法,尤其是所有的数据表统一处理的话,只需要在数据库配置文件中添加设置

     // 自动写入时间戳字段
'auto_timestamp' => true,

  会发现系统已经自动写入了数据表中的的create_timeupdate_time字段

  注意:此处的配置项是数据库配置文件../application/database.php文件中的配置项,定义了该配置项,则所有表的插入数据操作都会进行自动时间戳,若有表没有这两个字段的话,就无法完成自动时间戳,报错!

二、如果个别表不需要自动时间戳

二、字段如果不是叫update_time和create_time怎么办

  如果自动写入的时间戳字段不是这两个的话,需要修改模型类的属性定义,例如:

         //定义自动完成的时间戳的实际字段
protected $createTime = 'ctime';
protected $updateTime = 'mtime';

  注意:修改的不是数据库配置文件,而是与表对应的模型文件