diff --git a/app/Filament/Resources/TransmittalResource.php b/app/Filament/Resources/TransmittalResource.php index 6ab0df1..96e0be8 100644 --- a/app/Filament/Resources/TransmittalResource.php +++ b/app/Filament/Resources/TransmittalResource.php @@ -45,16 +45,36 @@ class TransmittalResource extends Resource ->columns([ Tables\Columns\Layout\Split::make([ Tables\Columns\TextColumn::make('series') - ->searchable() + ->searchable(query: function (Builder $query, string $search): Builder { + $wildcardSearch = '%' . str_replace(' ', '%', $search) . '%'; + + return $query->where(function (Builder $query) use ($wildcardSearch) { + $query->where('series', 'like', $wildcardSearch) + ->orWhereHas('notes', function (Builder $query) use ($wildcardSearch) { + $query->where('comment', 'like', $wildcardSearch); + }) + ->orWhereHas('files', function (Builder $query) use ($wildcardSearch) { + $query->where('description', 'like', $wildcardSearch); + }); + }); + }) ->label('Series') ->weight(FontWeight::Bold) ->columnSpan(2), Tables\Columns\Layout\Stack::make([ Tables\Columns\TextColumn::make('client.company') - ->searchable() + ->searchable(query: function (Builder $query, string $search): Builder { + return $query->whereHas('client', function (Builder $query) use ($search) { + $query->where('company', 'like', '%' . str_replace(' ', '%', $search) . '%'); + }); + }) ->weight(FontWeight::SemiBold)->label('Client'), Tables\Columns\TextColumn::make('branch.code') - ->searchable() + ->searchable(query: function (Builder $query, string $search): Builder { + return $query->whereHas('branch', function (Builder $query) use ($search) { + $query->where('code', 'like', '%' . str_replace(' ', '%', $search) . '%'); + }); + }) ->label('Branch'), ]), ]),