mingyunyuziyou

关于Thinkphp5 里面数据库自动更新与创建时间的问题

作者: 秒速五厘米     
 


我们有时候往数据库里面写入新的一条数据 时,可能需要自动更新时间、自动创建时间、这样就可以方便我们、从而大大减小我们的代码量;

不过在TP5里面有一个小规律,就是save()与insert()语句的区别;

1、我们先看一下TP5里面自动更新时间戳与创建时间戳的方法

  (1)、在database.php里面设置全局的自动更新、创建时间戳、

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

 (2)、在单个模型里面创建 局部自动更新、创建局部自动创建时间戳

protected $autoWriteTimestamp = true;
protected $updateTime = 'update_time';
protected $createTime = false;

2、注意了、当我们在控制器里面插入数据 的时候,如果使用insert()语句、那么 模型里面的这个自动更新与自动创建时间是不会生效的、

3、当我们使用save()语句后,这个模型里面的时间戳才会生效

代码:

$res = $this -> clubsMoney -> save(
         ['name'=>$data['name'],
         'all'=>$data['all'],
         'c_id'=>$data['c_id'],
         'create_time'=>$data['create_time']
     ]);