我正在使用 spatie/laravel activityLog 包。
activitylog插入代码是
$user = Auth::user();
$inventory = Inventory::where('id','=','1')->first();
$properties = ['action' => 'view'];
activity()
->performedOn($inventory)
->causedBy($user)
->withProperties($properties)
->log('add inventory')
->subject('test subject');
如何获取特定模型实例的事件日志?
下面是我的表格
这工作正常
1)回答
$inventory = new Inventory();
Activity::where('subject_type',get_class($inventory))->get();
2)回答
$inventory = new Inventory();
Activity::forSubject($inventory)->get();
如果你尝试第二个答案那么
您刚刚在此路径中编辑了以下函数 vendor/spatie/laravel-activitylog/src/models/Activity.php
public function scopeForSubject(Builder $query, Model $subject): Builder
{
return $query
->where('subject_type', $subject->getMorphClass())
->orWhere('subject_id', $subject->getKey());
}