在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/PHP  HTML/ Laravel 如何禁止修改某一數(shù)據(jù)會(huì)更新 update_at

Laravel 如何禁止修改某一數(shù)據(jù)會(huì)更新 update_at

情景是博客,當(dāng)修改title和content的時(shí)候我需要更新update_at,但是當(dāng)瀏覽量views有人瀏覽時(shí)就加1,也會(huì)改變了update_at,如何能限定某一字段就不更新時(shí)間呢?

回答
編輯回答
毀了心

Laravel的model里面有一個(gè)成員默認(rèn)值為true

protected $timestramp = true;

它起的作用是當(dāng)某一條記錄跟新時(shí)會(huì)自動(dòng)更新updated_at(注意不是update_at)。如果不想自動(dòng)跟新就設(shè)為false
下面說(shuō)說(shuō)你的問(wèn)題
你的字段名為update_at所以應(yīng)該和laravel的自動(dòng)跟新沒(méi)關(guān)系,應(yīng)該是你的數(shù)據(jù)庫(kù)中在update_at字段上設(shè)置了“On update Current_Timestamp”。按照你的需求應(yīng)該是不需要自動(dòng)跟新,因此按需手動(dòng)跟新就好

2018年1月16日 08:05
編輯回答
卟乖

你可以在修改title和content的時(shí)候正常操作,views加1是,給這個(gè)模型的對(duì)象設(shè)置timestamps=false。
比如

$user = new User();
$user->timestamps=false;
$user->name='test';
$user->save();
2017年6月20日 23:17
編輯回答
毀了心

去瞄了下源碼,想通過(guò)設(shè)置就實(shí)現(xiàn)效果是不可行的。

可以嘗試在修改 views 值時(shí),同時(shí)設(shè)置 updated_at 值試試。

2017年6月28日 11:13
編輯回答
傲寒

在model里加入:public $timestamps = false;
class Common_address extends Model
{

protected $table = 'common_address';
protected $fillable = [];
// 不自動(dòng)更新 created_at 和 updated_at
public $timestamps = false;

}

2018年2月8日 19:52
編輯回答
不二心

最后我采用不自動(dòng)觸發(fā) updated_at

public function getUpdatedAtColumn() {
        return null;
    }

然后在修改title和content的時(shí)候,手動(dòng)修改updated_at為當(dāng)前時(shí)間

$params['updated_at'] = date('Y-m-d h:i:s',time());
2017年12月23日 02:26