Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

lat4732's avatar
Level 12

Can't filter results between dates with daterangepicker

Hey everyone!

I'm using daterangepicker so filter results between dates. But I'm doing something wrong and can't make it work. Look at this code:

...
->when($request->daterange, function($query, $daterange) {
    $daterange = str_replace(' -', '', $daterange);
    $range = explode(' ' , $daterange);
    $range[0] = date('Y-m-d H:i:s', strtotime($range[0]));
    $range[1] = date('Y-m-d H:i:s', strtotime($range[1]));
    $query->whereBetween('created_at', [$range[0], $range[1]]);
})
...

Is there something wrong with it? Might be the date format. What do you think?

That's how the daterange parameter looks in the URI

&daterange=02%2F04%2F2022+-+02%2F04%2F2022
0 likes
2 replies
Nakov's avatar
Nakov
Best Answer
Level 73

What you have is exactly the same time, so maybe that does not have any results in the database and that’s why it is empty. You can try using Carbon too:

$start = Carbon\Carbon::createFromFormat('m/d/Y', $range[0])->startOfDay();

$end = Carbon\Carbon::createFromFormat('m/d/Y', $range[1])->endOfDay();

$query->whereBetween('created_at', [$end, $end]);
1 like

Please or to participate in this conversation.