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

情景是博客,当修改title和content的时候我需要更新update_at,但是当浏览量views有人浏览时就加1,也会改变了update_at,如何能限定某一字段就不更新时间呢?

森林海
浏览 997回答 5
5回答

侃侃无极

你可以在修改title和content的时候正常操作,views加1是,给这个模型的对象设置timestamps=false。比如 $user = new User(); $user->timestamps=false; $user->name='test'; $user->save();

九州编程

最后我采用不自动触发 updated_at public function getUpdatedAtColumn() { return null; } 然后在修改title和content的时候,手动修改updated_at为当前时间 $params['updated_at'] = date('Y-m-d h:i:s',time());

墨色风雨

去瞄了下源码,想通过设置就实现效果是不可行的。 可以尝试在修改 views 值时,同时设置 updated_at 值试试。

慕娘9325324

Laravel的model里面有一个成员默认值为true protected $timestramp = true; 它起的作用是当某一条记录跟新时会自动更新updated_at(注意不是update_at)。如果不想自动跟新就设为false下面说说你的问题你的字段名为update_at所以应该和laravel的自动跟新没关系,应该是你的数据库中在update_at字段上设置了“On update Current_Timestamp”。按照你的需求应该是不需要自动跟新,因此按需手动跟新就好
打开App,查看更多内容
随时随地看视频慕课网APP