Подтвердить что ты не робот

Laravel ORM, сравнение даты

Я использую Laravel Framework

Мне нужны все строки за этот день. Вот что я пробовал: DB:: table ('users') → где ('created_at', ' > =', date ('Y-m-d H: i: s'))

поле created_at представлено в базе данных в формате: Y-m-d H: i: s.

4b9b3361

Ответ 1

Хммм... был хороший ответ на этот вопрос, который, кажется, теперь исчез. *

Это было что-то вроде этого:

User::where('created_at', '>=', new DateTime('today'))

Примечание. Если вы помещаете этот код в файл с пространством имен или можете использовать пространство имен в будущем, вы должны префикс класса DateTime обратную косую черту: new \DateTime('today').

* https://stackoverflow.com/questions/15052679/laravel-framework-how-to-get-today-queries

Ответ 2

date('Y-m-d H:i:s') возвращает дату сейчас.

Если вы хотите получить результаты с начала дня, вы можете заменить его на date('Y-m-d').' 00:00:00'.

Если вы хотите получить результаты за последние 24 часа, вы можете заменить его на date('Y-m-d H:i:s',time()-86400) (86400 = 24 * 60 * 60)

Ответ 4

Я знаю, что тема старая, но может кто-то попытается найти решение из поисковых систем.

Вы можете использовать:

User::whereDate('created_at', '=', Carbon::today()->toDateString());

Вы можете посетить эту ссылку, если хотите узнать больше о сравнении даты в Laravel, используя где.

Яркая фильтрация даты: whereDate() и другие методы