Работа со временем в Laravel

189
01 мая 2019, 06:20

Как правильно делать запросы с whereDate в laravel?

Например, есть запрос

$data = date('Y-m-d H:i');//Время на сервере
$plan = Plan::whereDate('date_start', '<', $data)->get();

Нужно вывести все планы, у которых просрочено время, он выводит

1 план - 
Сейчас - 2018-11-21 04:24
План - 2018-11-20 17:30:00
- Все правильно, дата плана уже прошла

И выводит еще один план

2 план -
Сейчас - 2018-11-21 04:24
План - 2018-11-21 10:20:00
- Получается, что дата плана больше, чем сейчас времени

Почему он выводит 2 план? Или whereDate работает только с датой, а часы он не трогает?

Как сделать правильный вывод планов?

Answer 1

Используйте Carbon. Укажите в модели Plan:

protected $dates = ['date_start'];

Далее можно делать выборку:

$data = Carbon::now();
$plan = Plan::where('date_start', '<', $data)->get();
READ ALSO
Авторизация на outlook через curl php

Авторизация на outlook через curl php

Как реализовать вход через outlook через Curl на phpЯ новичок в этом вопросе

221
Как вычитывать данные с нуля?

Как вычитывать данные с нуля?

Есть скрипт который считывает данные с базы данных mssqlНо вот загвоздка

232
Метод для авторизации через базу данных другого сайт?

Метод для авторизации через базу данных другого сайт?

Получается нужно сделать авторизацию для сайта (opencart) через сайт соседний( общая база данных тут и веб сервисы) и путем Curl сделал post запрос...

262
Yii2 Ошибка при выгрузке из базы

Yii2 Ошибка при выгрузке из базы

Помогите разобратьсяПри выгрузке жалуется на article::id

213