为了账号安全,请及时绑定邮箱和手机立即绑定

Laravel 如何禁止修改某一数据会更新 update_at

Laravel 如何禁止修改某一数据会更新 update_at

PHP
森林海 2019-03-12 12:31:11
情景是博客,当修改title和content的时候我需要更新update_at,但是当浏览量views有人浏览时就加1,也会改变了update_at,如何能限定某一字段就不更新时间呢?
查看完整描述

5 回答

?
侃侃无极

TA贡献2051条经验 获得超10个赞

你可以在修改title和content的时候正常操作,views加1是,给这个模型的对象设置timestamps=false。
比如

$user = new User();
$user->timestamps=false;
$user->name='test';
$user->save();
查看完整回答
1 反对 回复 2019-03-18
?
九州编程

TA贡献1785条经验 获得超4个赞

最后我采用不自动触发 updated_at

public function getUpdatedAtColumn() {
        return null;
    }

然后在修改title和content的时候,手动修改updated_at为当前时间

$params['updated_at'] = date('Y-m-d h:i:s',time());
查看完整回答
反对 回复 2019-03-18
?
墨色风雨

TA贡献1853条经验 获得超6个赞

去瞄了下源码,想通过设置就实现效果是不可行的。

可以尝试在修改 views 值时,同时设置 updated_at 值试试。

查看完整回答
反对 回复 2019-03-18
?
慕娘9325324

TA贡献1783条经验 获得超4个赞

Laravel的model里面有一个成员默认值为true

protected $timestramp = true;

它起的作用是当某一条记录跟新时会自动更新updated_at(注意不是update_at)。如果不想自动跟新就设为false
下面说说你的问题
你的字段名为update_at所以应该和laravel的自动跟新没关系,应该是你的数据库中在update_at字段上设置了“On update Current_Timestamp”。按照你的需求应该是不需要自动跟新,因此按需手动跟新就好

查看完整回答
反对 回复 2019-03-18
  • 5 回答
  • 0 关注
  • 968 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信