Record the change log from models in Laravel
Laravel Auditing adalah package yang memungkinkan Anda melacak perubahan pada model Eloquent dengan mudah. Package ini sangat berguna untuk aplikasi yang membutuhkan history log, audit trail, atau monitoring perubahan data.
composer require owen-it/laravel-auditing
php artisan vendor:publish --provider "OwenIt\Auditing\AuditingServiceProvider" --tag="config"
use OwenIt\Auditing\Contracts\Auditable;
use OwenIt\Auditing\Auditable as AuditableTrait;
class User extends Model implements Auditable
{
use AuditableTrait;
protected $auditEvents = [
'created',
'updated',
'deleted',
'restored'
];
}protected $auditInclude = [
'name',
'email'
];
protected $auditExclude = [
'password'
];protected $auditThreshold = 100;
protected function transformAudit(array $data): array
{
if ($data['event'] === 'updated') {
// Custom logic
}
return $data;
}Schema::create('audits', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('user_type')->nullable();
$table->unsignedBigInteger('user_id')->nullable();
$table->string('event');
$table->morphs('auditable');
$table->text('old_values')->nullable();
$table->text('new_values')->nullable();
$table->text('url')->nullable();
$table->ipAddress('ip_address')->nullable();
$table->text('user_agent')->nullable();
$table->timestamps();
});// Get all audits $user->audits; // Get latest audit $user->latestAudit; // Get first audit $user->earliestAudit;
Laravel Auditing adalah solusi ideal untuk:
Keunggulan utama: