dfox288/culpa

为Laravel 7+的Eloquent模型添加Blameable支持

10.0.1 2023-02-28 10:10 UTC

This package is not auto-updated.

Last update: 2024-09-24 17:44:22 UTC


README

使用BlueprintBigInt作为蓝图类

Culpa for Laravel 5 & 6 Build Status Latest Stable Version License

Blameable扩展用于Laravel 5 & 6的Eloquent ORM模型。此扩展在创建、更新或软删除模型时自动添加对认证用户的引用。

免责声明:我创建此存储库是因为我不想在我的composer.json中包含原始分叉的dev-master版本。一旦原始的pull请求被合并,此包可能会变得过时,您最好在一年内切换回去。由于命名空间和目录结构的更改,此包与原始Culpa for Laravel < 4不兼容。

安装

要在项目中安装此包

  1. 运行 composer require nstapelbroek/culpa,
  2. 将以下内容添加到config/app.php中的providers列表中: "Culpa\CulpaServiceProvider",
  3. 将配置发布到您的应用: php artisan vendor:publish

用法

您可以通过添加受保护的属性和模型观察者来为每个模型添加可审计的字段。属性$blameable包含您希望记录的事件 - 目前这仅限于创建、更新和删除 - 这些功能与Laravel的时间戳相同。

use Culpa\Traits\Blameable;
use Culpa\Traits\CreatedBy;
use Culpa\Traits\DeletedBy;
use Culpa\Traits\UpdatedBy;
use Illuminate\Database\Eloquent\Model;

class Comment extends Model
{
    use Blameable, CreatedBy, UpdatedBy, DeletedBy;

    protected $blameable = array('created', 'updated', 'deleted');

    // Other model logic here
}
  • 在创建时,认证用户将被设置为created_by,
  • 在创建和更新时,认证用户将被设置为updated_by,
  • 如果模型支持软删除,则在删除时将在deleted_by中设置认证用户。

要激活这些字段的自动更新,您需要将blamable特性添加到模型中。就这样!需要更多Culpa的调整选项?请查看[Tweaks and Configuration文档](docs/1. Tweaks and Configuration.md)。

许可

Culpa是在MIT许可证下发布的。