yajra / laravel-auditable
一个简单的Laravel用户审计包,用于Eloquent模型。
v11.0.0
2024-03-17 04:36 UTC
Requires
- php: ^8.2
- illuminate/database: ^11.0
- illuminate/support: ^11.0
Requires (Dev)
- larastan/larastan: ^2.9.1
- laravel/pint: ^1.14
- orchestra/testbench: ^9.0
- pestphp/pest: ^2.34
- pestphp/pest-plugin-laravel: ^2.3
- rector/rector: ^1.0
This package is auto-updated.
Last update: 2024-08-25 07:05:12 UTC
README
Laravel Auditable是一个简单的Laravel审计包,用于您的Eloquent模型。此包会自动在您的表上插入/更新审计日志,记录谁创建了记录以及最后更新了记录。
Laravel版本兼容性
通过Composer安装
composer require yajra/laravel-auditable:^11
发布配置文件
如果您想修改可审计列上的withDefault
选项,您可以发布配置文件。
php artisan vendor:publish --tag=auditable
用法
更新模型的迁移并使用auditable()
蓝图宏添加created_by
和updated_by
字段。
Schema::create('users', function (Blueprint $table) { $table->increments('id'); $table->string('name', 100); $table->auditable(); $table->timestamps(); });
然后在您的模型上使用AuditableTrait
。
namespace App; use Yajra\Auditable\AuditableTrait; class User extends Model { use AuditableTrait; }
软删除
如果您想使用Laravel的软删除,请使用迁移上的auditableWithDeletes()
方法。
Schema::create('users', function (Blueprint $table) { $table->increments('id'); $table->string('name', 100); $table->auditableWithDeletes(); $table->timestamps(); $table->softDeletes() });
之后,您需要在模型上使用AuditableWithDeletesTrait
。
namespace App; use Yajra\Auditable\AuditableWithDeletesTrait; class User extends Model { use AuditableWithDeletesTrait, SoftDeletes; }
删除列
您可以使用dropAuditable()
方法删除可审计列,或者如果您使用软删除,则使用dropAuditableWithDeletes()
。
Schema::create('users', function (Blueprint $table) { $table->dropAuditable(); });
就完成了!现在,该包会自动为您的模型添加基本的审计日志,以跟踪谁插入和最后更新了您的记录。
变更日志
请参阅CHANGELOG了解最近更改的更多信息。
测试
composer test
贡献
请参阅CONTRIBUTING和CONDUCT以获取详细信息。
安全
如果您发现任何与安全相关的问题,请通过aqangeles@gmail.com发送电子邮件,而不是使用问题跟踪器。
致谢
许可
MIT许可(MIT)。请参阅许可文件以获取更多信息。