Laravel Auditable is a simple Laravel auditing package for your Eloquent Model. This package automatically inserts/updates an audit log on your table on who created and last updated the record.
Laravel | Package |
---|---|
5.x-10.x | 4.x |
11.x | 11.x |
composer require yajra/laravel-auditable:^11
If you want to modify the withDefault
option on auditable columns, you may publish the config file.
php artisan vendor:publish --tag=auditable
Update your model's migration and add created_by
and updated_by
field using the auditable()
blueprint macro.
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name', 100);
$table->auditable();
$table->timestamps();
});
Then use AuditableTrait
on your model.
namespace App;
use Yajra\Auditable\AuditableTrait;
class User extends Model
{
use AuditableTrait;
}
If you wish to use Laravel's soft deletes, use the auditableWithDeletes()
method on your migration instead:
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name', 100);
$table->auditableWithDeletes();
$table->timestamps();
$table->softDeletes()
});
Afterwards, you need to use AuditableWithDeletesTrait
on your model.
namespace App;
use Yajra\Auditable\AuditableWithDeletesTrait;
class User extends Model
{
use AuditableWithDeletesTrait, SoftDeletes;
}
You can drop auditable columns using dropAuditable()
method, or dropAuditableWithDeletes()
if using soft deletes.
Schema::create('users', function (Blueprint $table) {
$table->dropAuditable();
});
And you're done! The package will now automatically add a basic audit log for your model to track who inserted and last updated your records.
Please see CHANGELOG for more information what has changed recently.
composer test
Please see CONTRIBUTING and CONDUCT for details.
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.