| Server IP : 139.59.63.204 / Your IP : 216.73.217.62 Web Server : Apache/2.4.58 (Ubuntu) System : Linux ubuntu-s-1vcpu-1gb-blr1-01 6.8.0-110-generic #110-Ubuntu SMP PREEMPT_DYNAMIC Thu Mar 19 15:09:20 UTC 2026 x86_64 User : root ( 0) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/billing/app/Traits/ |
Upload File : |
<?php
namespace App\Traits;
use App\Models\AuditLog;
use Illuminate\Database\Eloquent\Model;
trait Auditable
{
public static function bootAuditable()
{
static::created(function (Model $model) {
self::audit('created', $model);
});
static::updated(function (Model $model) {
self::audit('updated', $model);
});
static::deleted(function (Model $model) {
self::audit('deleted', $model);
});
}
protected static function audit($description, $model)
{
AuditLog::create([
'description' => $description,
'subject_id' => $model->id ?? null,
'subject_type' => get_class($model) ?? null,
'user_id' => auth()->id() ?? null,
'properties' => $model ?? null,
'host' => request()->ip() ?? null,
]);
}
}