我正在学习使用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"
}
答案 0 :(得分:0)
在模型中添加您要更新的字段名称:
protected static $logAttributes = ['xxx', 'yyy', 'zzz'];
protected static $logOnlyDirty = true;
php artisan config:cache