yajra/laravel-auditable

一个简单的Laravel用户审计包,用于Eloquent模型。

资助包维护!
yajra

v11.0.0 2024-03-17 04:36 UTC

README

Latest Version on Packagist Software License

Continuous Integration Static Analysis Total Downloads

Laravel Auditable是一个简单的Laravel审计包,用于您的Eloquent模型。此包会自动在您的表上插入/更新审计日志,记录谁创建了记录以及最后更新了记录。

Laravel版本兼容性

通过Composer安装

composer require yajra/laravel-auditable:^11

发布配置文件

如果您想修改可审计列上的withDefault选项,您可以发布配置文件。

php artisan vendor:publish --tag=auditable

用法

更新模型的迁移并使用auditable()蓝图宏添加created_byupdated_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

贡献

请参阅CONTRIBUTINGCONDUCT以获取详细信息。

安全

如果您发现任何与安全相关的问题,请通过aqangeles@gmail.com发送电子邮件,而不是使用问题跟踪器。

致谢

许可

MIT许可(MIT)。请参阅许可文件以获取更多信息。