首页 > 解决方案 > Laravel 的 updateOrCreate 中的 created_by 和 updated_by

问题描述

使用"updateOrCreate"命令,我们如何"created_by"在插入新行时更新,

并在更新"updated_by"时更新?

$flight = App\Flight::updateOrCreate(
   [   
       'departure' => 'Oakland', 
       'destination' => 'San Diego'
   ],
   [
      'price' => 99,
      'created_by' => $user_id,
      'updated_by' => $user_id,
   ]
);

标签: laraveleloquent

解决方案


class Model extend Model {
     public static function boot()
     {
        parent::boot();
        static::creating(function($model)
        {
            $user = Auth::user();           
            $model->created_by = $user->id;
            $model->updated_by = $user->id;
        });
        static::updating(function($model)
        {
            $user = Auth::user();
            $model->updated_by = $user->id;
        });       
    }
}

推荐阅读