malzariey / filament-daterangepicker-filter

MIT License
79 stars 39 forks source link

Cannot apply modified base query #74

Closed sawirricardo closed 2 months ago

sawirricardo commented 3 months ago

I have a use case where I use ->modifyBaseQuery() with https://github.com/tpetry/laravel-postgresql-enhanced

However, daterangepicker hardcodes the apply() method with concrete query builder class.

Suggestion is to use the Contract interface Query Builder instead of the concrete one...

What do you think? @malzariey

malzariey commented 2 months ago

Hey @sawirricardo,

Thank you for raising the issue.

Unfortunately, Filament is using the Concrete query builder as well. Hence, we would not be able to change the signature of the parent class (Filter).

Declaration of Malzariey\FilamentDaterangepickerFilter\Filters\DateRangeFilter::apply(Illuminate\Contracts\Database\Eloquent\Builder $query, array $data = []): Illuminate\Contracts\Database\Eloquent\Builder must be compatible with Filament\Tables\Filters\BaseFilter::apply(Illuminate\Database\Eloquent\Builder $query, array $data = []): Illuminate\Database\Eloquent\Builder