yajra/laravel-auditable
A simple Laravel user auditing package for Eloquent Model.
Maintainers
Fund package maintenance!
Requires
- php: ^8.3
- illuminate/database: ^13.0
- illuminate/support: ^13.0
Requires (Dev)
- larastan/larastan: ^3.9.3
- laravel/pint: ^1.29
- orchestra/testbench: ^11.0
- pestphp/pest: ^4.4.2
- pestphp/pest-plugin-laravel: ^4.1
- rector/rector: ^2.3.9
Suggests
None
Provides
None
Conflicts
None
Replaces
None
MIT 7dee6b48f9a8a05f6990357cca656a215019e1e9
- Arjay Angeles <aqangeles.woop@gmail.com>
This package is auto-updated.
Last update: 2026-06-20 10:43:43 UTC
README
👁 Latest Version on Packagist
👁 Software License
👁 Continuous Integration
👁 Static Analysis
👁 Total Downloads
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 Version Compatibility
| Laravel | Package |
|---|---|
| 5.x-10.x | 4.x |
| 11.x | 11.x |
| 12.x | 12.x |
| 13.x | 13.x |
Install via Composer
composer require yajra/laravel-auditable:^13
Publish config file
If you want to modify the withDefault option on auditable columns, you may publish the config file.
php artisan vendor:publish --tag=auditable
Usage
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; }
Soft Deletes
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; }
Dropping columns
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.
Change log
Please see CHANGELOG for more information what has changed recently.
Testing
composer test
Contributing
Please see CONTRIBUTING and CONDUCT for details.
Security
If you discover any security related issues, please email aqangeles@gmail.com instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.
