Что не так с моим красноречивым запросом Laravel - PullRequest
0 голосов
/ 17 октября 2018

Что не так с моим запросом Laravel, он дает на один результат меньше, чем исходный результат.

Test::where('has_ftd', 1)
               ->where('ftd_date', '>=', '2018-10-17')
               ->where('ftd_date', '<=', '2018-10-17')
               ->paginate(10);

Обновление: я только что заметил, что меньше чем равно <<'дает меньше чем <результат </p>

Ответы [ 2 ]

0 голосов
/ 17 октября 2018

При запросе значений datetime или timestamp, как правило, важно включить часть времени, чтобы убедиться, что вы запрашиваете правильные значения:

Test::where('has_ftd', 1)
->where('ftd_date', '>=', '2018-10-17 00:00:00')
->where('ftd_date', '<=', '2018-10-17 23:59:59')
->paginate(10);

Предоставление значений 2018-10-17 00:00:00 и2018-10-17 23:59:59 обеспечит, чтобы запрос обрабатывал значения для полной включительной даты.

0 голосов
/ 17 октября 2018

Для диапазонов вы можете использовать метод Laravel whereBetween().Вы можете попробовать это: -

Test::where('has_ftd', 1)
    ->whereBetween('ftd_date', [$date_from, $date_to])
    ->paginate(10);

Я думаю, что это будет работать.

Ссылка: https://laravel.com/docs/5.7/queries#where-clauses

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...