Получение данных между двумя указанными датами ничего не возвращает Eloqent - PullRequest
0 голосов
/ 22 марта 2019

Я пытаюсь получить данные, если текущая дата и время находятся между временем начала и временем окончания. Вот что я сделал:

$coupon = Coupons::where('start_datetime', '>=', Carbon\Carbon::now()->format('Y-m-d h:m:s'))
                        ->where('end_datetime', '<=', Carbon\Carbon::now()->format('Y-m-d h:m:s') )
                        ->paginate(6);

Но этот запрос ничего не возвращает. Я попытался изменить его, увидев его SQL-запрос, но это все хорошо. Мои форматы start_datetime и end_datetime имеют значение dateTime ('0000-00-00 00:00:00') в моей базе данных. Я также пытался использовать функцию date('Y-m-d h:m:s') в PHP, но это также тот же результат. Как я могу сделать это в моем запросе?

Ответы [ 2 ]

0 голосов
/ 22 марта 2019

Спасибо за ответ, ребята, я понял это.Мой столбец БД использует 24-часовой формат, а мой запрос использует только 12-часовой формат.Итак, я только что изменил Carbon\Carbon::now()->format('Y-m-d h:m:s') на Carbon\Carbon::now()->format('Y-m-d H:m:s')

0 голосов
/ 22 марта 2019

Может быть, изменение условий может вам помочь:

$coupon = Coupons::where('start_datetime', '<=', Carbon\Carbon::now()->format('Y-m-d h:m:s'))
                        ->where('end_datetime', '>=', Carbon\Carbon::now()->format('Y-m-d h:m:s') )
                        ->paginate(6);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...