есть где между laravel включительно?

В моей базе данных 4 студента:

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

Почему мой код возвращает только первого ученика?

$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()]) 

1-й и 2-й ученики должны быть возвращены. Является ли «до» частью включительно в whereBetween или что-то не так с моим кодом?

Мне нужна твоя помощь. Заранее спасибо!

Related of "есть где между laravel включительно?"

Вам необходимо отформатировать файл created_at в формате Ymd . См. Изменение:

 $students = Student::select('id as ID_NO', 'fname as Firstname', 'lname as Lastname', 'created_at') ->whereBetween(DB::raw('date(created_at)'), [Carbon::createFromDate(2016, 5, 12)->toDateString(), Carbon::createFromDate(2016, 5, 27)->toDateString()]) 

Для других, кто в конечном итоге здесь и хочет ответа на заданный вопрос (в случае, если он обновлен … «Есть ли в Laravel включительно?»):

Да.

Поиск Laravel between означает, что он будет получать все строки между 2016-05-12 00:00:00 и 2016-05-27 00:00:00 . Ваш второй пользователь создан в 2016-05-27 07:37:45 , это вне диапазона, поэтому Laravel его не получит.

Используйте это и попробуйте, если это работает:

 $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, 28)->toDateString()]) 

Надеюсь, это сработает!