'array', ]; } public function user(): BelongsTo { return $this->belongsTo(User::class); } public function subject(): MorphTo { return $this->morphTo(); } /** Helper ringkas untuk rekod audit trail tindakan penting */ public static function record(string $action, ?string $description = null, ?Model $subject = null, array $meta = []): self { return static::create([ 'user_id' => auth()->id(), 'action' => $action, 'description' => $description, 'subject_type' => $subject ? $subject::class : null, 'subject_id' => $subject?->getKey(), 'ip_address' => Request::ip(), 'meta' => $meta ?: null, ]); } }