'array', 'created_at' => 'datetime', 'updated_at' => 'datetime', ]; } public function syncLog(): BelongsTo { return $this->belongsTo(CtsSyncLog::class, 'sync_log_id'); } public function scopeByStatus(Builder $query, ?string $status): Builder { if ($status === null || $status === '') { return $query; } return $query->where('status', $status); } public function scopeSearch(Builder $query, ?string $search): Builder { if ($search === null || trim($search) === '') { return $query; } $term = '%'.trim($search).'%'; return $query->where(function (Builder $builder) use ($term): void { $builder ->where('method', 'like', $term) ->orWhere('endpoint', 'like', $term) ->orWhere('error_message', 'like', $term); }); } }