安装 laravel-activitylog 包并发布配置文件,运行迁移创建 activity_log 表;2. 在模型中使用 LogsActivity trait 指定需记录的字段;3. 可通过 activity() 手动记录用户行为;4. 使用 Activity 模型查询操作记录;5. 在 Blade 模板中展示日志信息。该包可实现模型变更自动追踪与自定义操作记录,适用于系统审计。

在 Laravel 项目中,Spatie 的 laravel-activitylog 是一个非常流行的包,用于记录模型的增删改操作或自定义用户行为。它能自动跟踪 Eloquent 模型的变化,并将操作记录存储到数据库中,便于后续审计和监控。
使用 Composer 安装 Spatie 的 activitylog 包:
composer require spatie/laravel-activitylog安装完成后,可选择性地发布迁移文件和配置文件:
php artisan vendor:publish --provider="Spatie\Activitylog\ActivitylogServiceProvider" --tag="migrations" php artisan vendor:publish --provider="Spatie\Activitylog\ActivitylogServiceProvider" --tag="config"然后运行迁移,创建 activity_log 表:
php artisan migrate在需要记录操作的 Eloquent 模型中使用 LogsActivity trait,并指定要记录的字段。
例如,在 User 模型中记录用户的更新操作:
use Spatie\Activitylog\Traits\LogsActivity;除了自动记录模型变更,你还可以手动记录用户行为,比如登录、退出、访问页面等。
在控制器中使用 activity() 辅助函数:
// 记录一次用户操作也可以不绑定模型:
activity()->log('用户登录系统');你可以通过 Activity model 查询所有记录:
use Spatie\Activitylog\Models\Activity;按用户筛选:
$activities = auth()->user()->activities;按日志类型筛选:
$activities = Activity::forSubject($post)->get(); // 获取某篇文章的操作记录将 $activities 传入视图后,可以这样展示:
@foreach($activities as $activity)基本上就这些。配置好之后,大部分模型操作会自动记录,关键操作也可以手动补充。这个包灵活且稳定,适合用于后台管理系统做操作审计。
以上就是laravel怎么使用Spatie的laravel-activitylog记录用户活动_laravel Spatie activitylog用户活动记录方法的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号