Filter::make('timestamp')
->form([
DateTimePicker::make('time_from')
->seconds(false),
DateTimePicker::make('time_until')
->seconds(false),
])
->query(function (Builder $query, array $data): Builder {
return $query
->when(
$data['time_from'],
fn(Builder $query, $date): Builder => $query->whereHas('event', function ($event) use ($date) {
$event->whereDate('timestamp', '>=', $date);
}),
)
->when(
$data['time_until'],
fn(Builder $query, $date): Builder => $query->whereHas('event', function ($event) use ($date) {
$event->whereDate('timestamp', '<=', $date);
}),
);
})
Filter::make('timestamp')
->form([
DateTimePicker::make('time_from')
->seconds(false),
DateTimePicker::make('time_until')
->seconds(false),
])
->query(function (Builder $query, array $data): Builder {
return $query
->when(
$data['time_from'],
fn(Builder $query, $date): Builder => $query->whereHas('event', function ($event) use ($date) {
$event->whereDate('timestamp', '>=', $date);
}),
)
->when(
$data['time_until'],
fn(Builder $query, $date): Builder => $query->whereHas('event', function ($event) use ($date) {
$event->whereDate('timestamp', '<=', $date);
}),
);
})