Skip to content

laravel-appkit/blameable

Repository files navigation

Eloquent Blameable

Latest Version on Packagist Build Status Quality Score Total Downloads Licence codecov

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.

Installation

You can install the package via composer:

composer require laravel-appkit/blameable

Usage

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

Testing

composer test

Tests are run automatically when a PR is created.

Changelog

Please see CHANGELOG for more information what has changed recently. The file is automatically updated.

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please email appkit-security@coutts.io instead of using the issue tracker.

Please see SECURITY for more details.

Credits

License

The MIT License (MIT). Please see License File for more information.

About

Add created by and edited by users to eloquent models

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages