Laravel活动日志不会更新属性列

时间:2020-03-12 15:06:58

标签: laravel-7 activitylog

我正在学习使用spatie/laravel-activitylog包在Laravel(7.1)中记录活动。但是,当我更新用户时,它不会更新properties表中的activity_log列,而是在模型($logAttributes)上设置了protected static $logAttributes = ['name', 'email'];属性

当我更新喜欢的用户

>>> $user = User::find(1);

=> App\User {#3104
     id: 1,
     name: "John",
     email: "prath@example.com",
     email_verified_at: "2020-03-12 13:35:19",
     created_at: "2020-03-12 13:35:19",
     updated_at: "2020-03-12 13:41:34",
   }
>>> $user->update(['name' => 'James']);
=> true

它记录了该活动,但返回的属性列为空。

{
id: 8,
log_name: "default",
description: "updated",
subject_id: 1,
subject_type: "App\User",
causer_id: null,
causer_type: null,
properties: [ ],
created_at: "2020-03-12T14:58:10.000000Z",
updated_at: "2020-03-12T14:58:10.000000Z"
}

1 个答案:

答案 0 :(得分:0)

在模型中添加您要更新的字段名称:

protected static $logAttributes = ['xxx', 'yyy', 'zzz'];
protected static $logOnlyDirty = true;

php artisan config:cache