astalpaert/laravel-blamable
最新稳定版本:v2.0.0
Composer 安装命令:
composer require astalpaert/laravel-blamable
包简介
Laravel Eloquent models blamable
README 文档
README
This package allow you to track who created, updated and deleted Eloquent models in Laravel.
Installation
You can install this package via composer using:
composer require astalpaert/laravel-blamable
The package will automatically register itself.
Usage
Implement Blamable fields
The package provides 2 convenient methods addBlamableFields() and removeBlamableFields() which you may use in your migrations to make sure that the database table has the required columns (created_by, updated_by and deleted_by).
public function up() { Schema::table('dummy_models', function (Blueprint $table) { $table->addBlamableFields(); }); } public function down() { Schema::table('dummy_models', function (Blueprint $table) { $table->removeBlamableFields(); }); }
Implement Blamable logic
You may then use the Blamable trait on the model.
use Astalpaert\LaravelBlamable\Traits\Blamable; use Illuminate\Database\Eloquent\Model; class DummyModel extends Model { use Blamable; //use SoftDeletes; }
Et voilà! The package will fill the blamable columns automatically after creating, updating and deleting the model.
Configuration
To publish the config file to config/astalpaert-blamable.php run:
php artisan vendor:publish --provider="Astalpaert\LaravelBlamable\Providers\BlameableServiceProvider"
Implement User model
By default, the name attribute of the authenticated User is used to fill the blamable column. This is configurable in the config under attribute_name:
return [ 'user' => [ 'attribute_name' => 'name', ], ];
You may also use an accessor in the model for more flexibility:
public function getNameAttribute(): string { return "$this->first_name $this->last_name"; }
Note: The blamable fields are string columns, so make sure the name is a string.
Implement default value
By default, when there is no authenticated user, the value SYSTEM is used to fill the blamable column. This is configurable in the config under default:
return [ 'user' => [ 'default' => 'SYSTEM', ], ];
统计信息
- 总下载量: 29.86k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2022-03-03