获取特定模型示例的活动日志(使用spatie/laravel活动日志)

6rvt4ljy  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(345)

关闭。这个问题需要更加突出重点。它目前不接受答案。
**想改进这个问题吗?**通过编辑这篇文章更新这个问题,使它只关注一个问题。

两年前关门了。
改进这个问题
我正在使用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');

如何计算特定模型示例的活动日志?
下面是我的table

ssm49v7z

ssm49v7z1#

这很管用
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());
    }

相关问题