Merge pull request 'feat(TransmittalResource): enhance search functionality across related models' (#5) from fix/error-on-production into main

Reviewed-on: #5
This commit is contained in:
2026-02-12 08:15:26 +00:00

View File

@@ -45,16 +45,36 @@ class TransmittalResource extends Resource
->columns([ ->columns([
Tables\Columns\Layout\Split::make([ Tables\Columns\Layout\Split::make([
Tables\Columns\TextColumn::make('series') 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') ->label('Series')
->weight(FontWeight::Bold) ->weight(FontWeight::Bold)
->columnSpan(2), ->columnSpan(2),
Tables\Columns\Layout\Stack::make([ Tables\Columns\Layout\Stack::make([
Tables\Columns\TextColumn::make('client.company') 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'), ->weight(FontWeight::SemiBold)->label('Client'),
Tables\Columns\TextColumn::make('branch.code') 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'), ->label('Branch'),
]), ]),
]), ]),