signifly/laravel-manageable

Track users who manages models in your Laravel app

Downloads

7196

Stars

40

Version

v3.0.2

Track users who manage models in your Laravel app

Latest Version on Packagist Build Status StyleCI Quality Score Total Downloads

The signifly/laravel-manageable package allows you to easily track who creates/updates your models.

All you have to do to get started is:

// 1. Add required columns to your table by using our macro manageable
Schema::create('orders', function (Blueprint $table) {
    // ...
    $table->manageable();

    // params: $bigIntegers (default: true), $foreignTable (default: 'users'), $foreignKey (default: 'id')
    $table->manageable(false, 'some_users_table', 'u_id');
});

// 2. Add the Manageable trait to your model
class Order extends Model
{
    use Manageable;
}

The macro manageable adds the following to your table:

$this->unsignedBigInteger('created_by')->nullable()->index();
$this->unsignedBigInteger('updated_by')->nullable()->index();

$this->foreign('created_by')
    ->references('id')
    ->on('users')
    ->onDelete('set null');

$this->foreign('updated_by')
    ->references('id')
    ->on('users')
    ->onDelete('set null');

Documentation

Until further documentation is provided, please have a look at the tests.

Installation

You can install the package via composer:

composer require signifly/laravel-manageable

The package will automatically register itself.

You can publish the config with:

php artisan vendor:publish --provider="Signifly\Manageable\ManageableServiceProvider"

Testing

composer test

Security

If you discover any security issues, please email [email protected] instead of using the issue tracker.

Credits

License

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

signifly

Author

signifly