Composer怎么安装Laravel Auditing_Composer如何引入owen-it/laravel-auditing自动记录模型数据变更日志【教程】

大晨吖_4838

大晨吖_4838

2026-03-22

483人浏览

原创

直接用 Composer 安装 owen-it/laravel-auditing:composer require owen-it/laravel-auditing;注意包名拼写准确,安装后自动注册服务提供者,需发布迁移并运行 php artisan migrate 创建 audits 表,模型启用审计需 use Auditable trait 且实现 AuditableContract 接口。

composer怎么安装laravel auditing_composer如何引入owen-it/laravel-auditing自动记录模型数据变更日志【教程】

直接用 Composer 安装 owen-it/laravel-auditing

它不是 Laravel 官方包,但维护活跃、Laravel 9/10 兼容良好,安装就是一条命令:composer require owen-it/laravel-auditing。注意别拼错包名——owen-it/laravel-auditing 中的 owen-it 是作者 GitHub 组织名,不是 owenit 或 owen,拼错会报 Package not found。

安装后自动注册服务提供者(Laravel 5.5+ 支持自动发现),无需手动加到 config/app.php;但如果你用的是 Laravel 5.4 或禁用了自动发现,得手动在 providers 数组里加一行:OwenIt\Auditing\AuditingServiceProvider::class。

发布迁移文件并运行 migrate

审计日志要存进数据库,必须先生成并执行迁移。执行:php artisan vendor:publish --provider="OwenIt\Auditing\AuditingServiceProvider" --tag="migrations"。这会把 create_audits_table.php 迁移文件复制到 database/migrations/ 目录下。

常见错误:没运行这步就直接 php artisan migrate,结果报错 Base table or view not found: 1146 Table 'xxx.audits' doesn't exist。迁移文件生成后,再跑一次 php artisan migrate 就行。

  • 如果项目已上线,别直接删库重迁——audits 表可独立存在,不影响主业务表
  • 默认迁移使用 bigIncrements,适合高并发场景;如确定数据量极小,可手动改成 increments 减少索引体积
  • 表名固定为 audits,不建议改;若真要改,需同时在 config/audit.php 里调整 table 配置项

给模型开启审计功能

不是所有模型都要审计,只在需要记录变更的模型里加 Auditable trait 和接口即可。例如:

Discussion Composer
Discussion Composer

围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par

下载
use OwenIt\Auditing\Contracts\Auditable as AuditableContract;
use OwenIt\Auditing\Auditable;

class User extends Model implements AuditableContract
{
    use Auditable;
}

关键点:

  • 必须实现 AuditableContract 接口,否则运行时会报 Class name must be a valid object or a string 类错误
  • Auditable trait 默认监听 created、updated、deleted、restored 四个事件;想关掉某个(比如不想记 soft-delete 的 deleted),在模型里设:protected $auditInclude = ['name', 'email']; 或 protected $auditExclude = ['password'];
  • 如果模型用的是自定义主键(非 id),记得设置:protected $auditInclude = ['your_primary_key']; 并确保该字段被包含在审计字段中,否则日志里 auditable_id 可能为空

审计日志查不到?检查配置和软删除行为

最常遇到的情况是:改了数据,但 audits 表里没新记录。优先排查这三处:

  • 模型是否真的用了 Auditable trait 且实现了接口——漏一个就完全不触发
  • 是否启用了软删除(SoftDeletes)但没在模型里加 use SoftDeletes;?此时 delete() 实际是 update 操作,而默认审计不监听 updated 对 soft-deleted 记录的变更,需显式开启:protected $auditInclude = ['deleted_at'];
  • 配置文件 config/audit.php 是否被意外修改?尤其 enabled 设为 false,或 implementation 指向了错误类——首次发布配置后,Laravel 不会自动覆盖已有文件,改配置得手动确认

审计本身不阻塞主流程,但大量高频更新模型时,每条变更写一次 audits 表可能拖慢响应;如只需关键操作留痕,建议用 $model->auditCustom('user_profile_updated', [...]) 手动触发,比全自动更可控。

相关专题

更多
laravel组件介绍
laravel组件介绍

laravel 提供了丰富的组件,包括身份验证、模板引擎、缓存、命令行工具、数据库交互、对象关系映射器、事件处理、文件操作、电子邮件发送、队列管理和数据验证。想了解更多laravel的相关内容,可以阅读本专题下面的文章。

2024.04.09

857

10

laravel中间件介绍
laravel中间件介绍

laravel 中间件分为五种类型:全局、路由、组、终止和自定。想了解更多laravel中间件的相关内容,可以阅读本专题下面的文章。

2024.04.09

855

9

laravel使用的设计模式有哪些
laravel使用的设计模式有哪些

laravel使用的设计模式有:1、单例模式;2、工厂方法模式;3、建造者模式;4、适配器模式;5、装饰器模式;6、策略模式;7、观察者模式。想了解更多laravel的相关内容,可以阅读本专题下面的文章。

2024.04.09

2508

10

thinkphp和laravel哪个简单
thinkphp和laravel哪个简单

对于初学者来说,laravel 的入门门槛较低,更易上手,原因包括:1. 更简单的安装和配置;2. 丰富的文档和社区支持;3. 简洁易懂的语法和 api;4. 平缓的学习曲线。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.10

4421

7

laravel入门教程
laravel入门教程

本专题整合了laravel入门教程,想了解更多详细内容,请阅读专题下面的文章。

2025.08.05

6410

22

laravel实战教程
laravel实战教程

本专题整合了laravel实战教程,阅读专题下面的文章了解更多详细内容。

2025.08.05

4236

13

laravel面试题
laravel面试题

本专题整合了laravel面试题相关内容,阅读专题下面的文章了解更多详细内容。

2025.08.05

7949

7

PHP高性能API设计与Laravel服务架构实践
PHP高性能API设计与Laravel服务架构实践

本专题围绕 PHP 在现代 Web 后端开发中的高性能实践展开,重点讲解基于 Laravel 框架构建可扩展 API 服务的核心方法。内容涵盖路由与中间件机制、服务容器与依赖注入、接口版本管理、缓存策略设计以及队列异步处理方案。同时结合高并发场景,深入分析性能瓶颈定位与优化思路,帮助开发者构建稳定、高效、易维护的 PHP 后端服务体系。

2026.03.04

1496

29

Laravel 框架安装指南
Laravel 框架安装指南

本指南详解 Laravel 框架安装全流程,涵盖 PHP 8.1+ 环境配置、Composer 依赖管理工具安装及国内镜像源优化。重点演示使用 composer create-project 命令创建 Laravel 10/11 项目,解决常见安装错误与依赖冲突。从环境搭建到项目初始化,助您快速完成 Laravel 开发环境部署,为后续 Web 应用开发奠定基础。适合 PHP 初学者与框架迁移开发者参考。

2026.04.09

215

6

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
phpMyAdmin 安装文档
phpMyAdmin 安装文档

共0课时 | 0人学习

phpEnv手册
phpEnv手册

共0课时 | 0人学习