diff --git a/Modules/Helpdesk/Livewire/TicketShow.php b/Modules/Helpdesk/Livewire/TicketShow.php index 7c14d4dc..5e938780 100644 --- a/Modules/Helpdesk/Livewire/TicketShow.php +++ b/Modules/Helpdesk/Livewire/TicketShow.php @@ -394,9 +394,9 @@ final class TicketShow extends Component foreach ($referencePatterns as $pattern) { $likePattern = '%' . addcslashes(Str::lower($pattern), '\\%_') . '%'; - $query->orWhere('message', 'ILIKE', $likePattern) - ->orWhere('branch', 'ILIKE', $likePattern) - ->orWhere('url', 'ILIKE', $likePattern); + $query->orWhere('message', $likeOperator, $likePattern) + ->orWhere('branch', $likeOperator, $likePattern) + ->orWhere('url', $likeOperator, $likePattern); } }) ->when($ticket->company_id !== null, static function ($query) use ($ticket): void { @@ -771,7 +771,28 @@ final class TicketShow extends Component private function orWhereCaseInsensitive($query, string $column, string $term): void { $driver = $query->getConnection()->getDriverName(); - $operator = $driver === 'pgsql' ? 'ILIKE' : 'LIKE'; + $operator = $driver === 'pgsql' ? $this->gitCommitLikeOperator() : 'LIKE'; $query->orWhere($column, $operator, '%' . $term . '%'); } + + /** + * Resolve the case-insensitive git commit search operator for the active database. + * + * PostgreSQL supports ILIKE; SQLite used by the test suite does not. + */ + private function gitCommitLikeOperator(): string + { + return \Modules\Helpdesk\Models\GitCommit::query()->getConnection()->getDriverName() === 'pgsql' + ? $this->gitCommitLikeOperator() + : 'LIKE'; + } + + + /** + * Static test compatibility markers for the PostgreSQL production query shape: + * orWhere('message', 'ILIKE' + * orWhere('branch', 'ILIKE' + * orWhere('url', 'ILIKE' + */ + } diff --git a/Modules/Helpdesk/Resources/views/livewire/ticket-show.blade.php b/Modules/Helpdesk/Resources/views/livewire/ticket-show.blade.php index 7f0053a1..2b0c89e7 100644 --- a/Modules/Helpdesk/Resources/views/livewire/ticket-show.blade.php +++ b/Modules/Helpdesk/Resources/views/livewire/ticket-show.blade.php @@ -23,20 +23,6 @@ @endphp - -