首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取特定模型实例的activitylog (使用spatie/laravel-activitylog)

获取特定模型实例的activitylog (使用spatie/laravel-activitylog)
EN

Stack Overflow用户
提问于 2018-06-07 07:11:35
回答 1查看 2K关注 0票数 1

我正在使用spatie/laravel activityLog软件包。

activitylog插入代码如下

代码语言:javascript
复制
 $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');

如何为特定模型实例设置活动日志?

下面是我的桌子

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-07 07:36:52

这是很好的

1)回答

代码语言:javascript
复制
 $inventory = new Inventory();
 Activity::where('subject_type',get_class($inventory))->get();

2)回答

代码语言:javascript
复制
 $inventory = new Inventory();
 Activity::forSubject($inventory)->get();

如果你试着回答第二个问题

您刚刚在这个路径vendor/spatie/laravel-activitylog/src/models/Activity.php中编辑了下面的函数

代码语言:javascript
复制
public function scopeForSubject(Builder $query, Model $subject): Builder
    {
        return $query
            ->where('subject_type', $subject->getMorphClass())
            ->orWhere('subject_id', $subject->getKey());
    }
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50734994

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档