情景是博客,当修改title和content的时候我需要更新update_at,但是当浏览量views有人浏览时就加1,也会改变了update_at,如何能限定某一字段就不更新时间呢?
情景是博客,当修改title和content的时候我需要更新update_at,但是当浏览量views有人浏览时就加1,也会改变了update_at,如何能限定某一字段就不更新时间呢?
你可以在修改title和content的时候正常操作,views加1是,给这个模型的对象设置timestamps=false。
比如
$user = new User();
$user->timestamps=false;
$user->name='test';
$user->save();
Laravel的model里面有一个成员默认值为true
protected $timestramp = true;
它起的作用是当某一条记录跟新时会自动更新updated_at(注意不是update_at)。如果不想自动跟新就设为false
下面说说你的问题
你的字段名为update_at所以应该和laravel的自动跟新没关系,应该是你的数据库中在update_at字段上设置了“On update Current_Timestamp”。按照你的需求应该是不需要自动跟新,因此按需手动跟新就好
在model里加入:public $timestamps = false;
class Common_address extends Model
{
protected $table = 'common_address';
protected $fillable = [];
// 不自动更新 created_at 和 updated_at
public $timestamps = false;
}
4 回答13.4k 阅读✓ 已解决
5 回答7.8k 阅读✓ 已解决
2 回答1k 阅读✓ 已解决
1 回答996 阅读✓ 已解决
1 回答1.5k 阅读
1 回答1.5k 阅读
2 回答754 阅读
最后我采用不自动触发 updated_at
然后在修改title和content的时候,手动修改updated_at为当前时间