This package allows you to store the creator (created_by
) and last editor (edited_by
) of an Eloquent Model. You can also store the user who soft deleted a model.
You can install the package via composer:
composer require laravel-appkit/blameable
First, add the created_at
, updated_at
(and optionally deleted_at
) columns to your table. This can be done via the blameable
method in your migration.
Schema::create('articles', function (Blueprint $table) {
$table->increments('id');
$table->string('title');
$table->text('body');
$table->timestamps();
// add this line to create the columns
$table->blameable(); // pass in true as the first argument to enable soft deletes columns
});
Next, add the AppKit\Blameable\Traits\Blameable
trait to the model
<?php
namespace App\Models;
use AppKit\Blameable\Traits\Blameable;
use Illuminate\Database\Eloquent\Model;
class Article extends Model
{
use Blameable;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'title',
'body'
];
}
The id of the user can be accessed via the created_at
, updated_at
and deleted_at
attributes on the model.
Relationships have also been setup to fetch an instance of the user model
$article = Article::first();
$article->creator // the user model that created the article
$article->editor // the user model that last updated the article
$article->deleter // the user model that soft deleted the article
composer test
Tests are run automatically when a PR is created.
Please see CHANGELOG for more information what has changed recently. The file is automatically updated.
Please see CONTRIBUTING for details.
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
Please see SECURITY for more details.
The MIT License (MIT). Please see License File for more information.