weblynx / laravel-model-audit

用于 Laravel 模型的审计包

dev-master 2022-03-13 16:03 UTC

This package is auto-updated.

Last update: 2024-09-13 21:35:59 UTC


README

警告:这仍然处于测试版。因此,您可能会遇到问题。

这只是一个小项目,因此更新可能会很少。

安装

composer require weblynx/laravel-model-audit

安装后运行

php artisan migrate

可用的生命周期事件

  • 创建
  • 更新
  • 删除
  • 恢复
  • 软删除
  • 强制删除

发布供应商文件

php artisan vendor:publish

在配置文件中,您将找到一个 auditor.php 文件。

您可以通过注释行来全局禁用任何事件。

<?php

return [
    'options' => [
        'created',
        'updated',
//        'deleted',
        'restored',
        'soft-deleted',
        'force-deleted'
    ]
];

您可以通过在模型上添加 $excludedAudits 属性来禁用任何事件。

    protected array $excludedAudits = [
        'created'
    ];

特质

WithAuditor

WithAuditor 用于激活包的事件。在您想要进行审计的模型上使用它。

class Model {
    use WithAuditor;
}

HasManyAudits

HasManyAudits 返回一个与创建了模型的模型相关联的 hasMany 关系。

class Model {
    use HasManyAudits;
}

模型

class Auditor

Auditor 类基于配置中定义的提供者具有动态的 belongsTo 关系。例如

将返回一个名为:user() 的 belongsTo 关系。

 'providers' => [
        'users' => [
            'driver' => 'eloquent',
            'model' => App\Models\User::class,
        ],
    ],

下一步

  • 添加可以从模型中排除的字段。
  • 添加单元测试。