In my database there are 4 students:
1st Student's created_at = 2016-05-12 02:23:51
2nd Student's created_at = 2016-05-27 07:37:45
3rd Student's created_at = 2016-05-29 07:40:29
4th Student's created_at = 2016-05-29 07:50:05
Why does my code only returns the 1st student?
$students = Student::select('id as ID_NO', 'fname as Firstname', 'lname as Lastname', 'created_at')
->whereBetween('created_at',
[Carbon::createFromDate(2016, 5, 12)->toDateString(),
Carbon::createFromDate(2016, 5, 27)->toDateString()])
The 1st and 2nd student should be returned. Is the "to" part inclusive in whereBetween or there's something wrong with my code ?
I need your help guys. Thanks in advance!
Laravel search
between
, this means it will get all the rows between2016-05-12 00:00:00
and2016-05-27 00:00:00
. Your second user is created at2016-05-27 07:37:45
, this is outside the range so Laravel won't fetch it.Use this and try if this works:
Hope this works!
For others who end up here and want the answer to the question asked (in case it's updated… "Is whereBetween in Laravel inclusive?"):
Yes.
You need to format your
created_at
toY-m-d
format. Please see the change: