astalpaert/laravel-blamable 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

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

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 5
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2022-03-03