laravel-manageable maintained by r4nkt
Description
Track users who manages models in your Laravel app. (Forked from signifly/laravel-manageable.)
Author
Last update
2024/03/18 15:07
(dev-master)
License
Downloads
37
Track users who manage models in your Laravel app
The r4nkt/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');
Likewise, the macro unmanageable does the following to your table:
$this->dropForeign(['created_by']);
$this->dropForeign(['updated_by']);
$this->dropColumn(['created_by', 'updated_by']);
Documentation
Until further documentation is provided, please have a look at the tests.
Installation
You can install the package via composer:
composer require r4nkt/laravel-manageable
The package will automatically register itself.
You can publish the config with:
php artisan vendor:publish --provider="R4nkt\Manageable\ManageableServiceProvider"
Testing
composer test
Security
If you discover any security issues, please email dev@r4nkt.com instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.