laravel使用save与update方法灵活操作updated_at字段
问题场景:
当默认使用框架中的时间操作字段,created_at,updated_at,deleted_at字段的时候,有得时候很灵活,例如添加,修改和删除更新的时候不需要特别维护,很方便。但是有时候时候某一数据发生修改的时候,你可能期望updated_at不更新,例如:博客点赞,你并不希望你的文章修改时间放生改变,这时候如何看待更新数据的save()与update()方法呢
一. save方法
$model = Model::find($id);
$model->field1 = $value1;
$model->timestamps = false;
$model->save();
当使用到
$model->timestamps = false;
这一行的时候可以在更新修改的操作中,临时忽略时间字段的修改
二. update方法
当Model中本就设置了 protected $timestamps = false;
这时候想要更新时间字段可以如下操作
Model::find($id)
->update([
'field1' => $value1,
'updated_at' => date('Y-m-d H:i:s'),
]);
总结:
目前对框架认识的有些浅薄,此贴想要寻找一个答案:
一个默认使用model的时间操作字段的时候,怎么使用update()方法灵活更新时间的写法
本作品采用《CC 协议》,转载必须注明作者和本文链接