© 2026 Hedgehog Software, LLC

TwitterGitHubDiscord
More
CommunitiesDocsAboutTermsPrivacy
Search
Star
Setup for Free
FilamentF
Filament•3y ago•
4 replies
ahinkle

Nullable DateTime Filter Value on Table Filter (v3)

Hi there, I have a table with three inputs:

With Trashed
Created At (from)
Created At (to)

The filters work but when I don't use the created_at filter, it defaults to null where it throws an exception:
Could not parse 'null': Failed to parse time string (null) at position 0 (n): The timezone could not be found in the database
Could not parse 'null': Failed to parse time string (null) at position 0 (n): The timezone could not be found in the database


The generated URL:
admin/users?tableFilters[trashed][value]=1&tableFilters[Created%20At][created_from]=null&tableFilters[Created%20At][created_until]=null
admin/users?tableFilters[trashed][value]=1&tableFilters[Created%20At][created_from]=null&tableFilters[Created%20At][created_until]=null


This works on v2 but doesn't work on v3. Any ideas?

Filter:
$this->form([
    DatePicker::make('created_from')->label('Created From'),
    DatePicker::make('created_until')->label('Created Until'),
]);

$this->query(function (Builder $query, array $data): Builder {
    return $query
        ->when(
            $data['created_from'],
            fn (Builder $query, $date): Builder => $query->whereDate('created_at', '>=', $date),
        )
        ->when(
            $data['created_until'],
            fn (Builder $query, $date): Builder => $query->whereDate('created_at', '<=', $date),
        );
});
$this->form([
    DatePicker::make('created_from')->label('Created From'),
    DatePicker::make('created_until')->label('Created Until'),
]);

$this->query(function (Builder $query, array $data): Builder {
    return $query
        ->when(
            $data['created_from'],
            fn (Builder $query, $date): Builder => $query->whereDate('created_at', '>=', $date),
        )
        ->when(
            $data['created_until'],
            fn (Builder $query, $date): Builder => $query->whereDate('created_at', '<=', $date),
        );
});
Filament banner
FilamentJoin
A powerful open source UI framework for Laravel • Build and ship admin panels & apps fast with Livewire
20,307Members
Resources

Similar Threads

Was this page helpful?
Recent Announcements

Similar Threads

Get current value of table filter
FilamentFFilament / ❓┊help
2y ago
Hide Bulk Upload Action on Table filter value change
FilamentFFilament / ❓┊help
2y ago
hidden filter on table
FilamentFFilament / ❓┊help
3y ago
Custom datetime filter within relation
FilamentFFilament / ❓┊help
2y ago