Я использую Laravel 5.4 и Carbon, чтобы найти даты, которые ровно за один день и три дня до задания laravel (до часа) для отправки уведомлений. Так, например, если дата была 2019-03-10 18:00:03
или 2019-03-10 18:15:34
, я хотел бы отправить уведомление завтра в 2019-03-07 18:00:00
, а другое в 2019-03-09 18:00:00
. Я хотел бы сделать это в красноречивом запросе, но не совсем уверен, как "ленивый матч" по дням и часам. Если у меня есть модель Appointment
с отметкой времени start_date
, я знаю, что могу делать точные совпадения по дню или дате, но я хочу найти совпадения, которые не учитывают часы / секунды. Я думал о чем-то вроде этого:
$oneDayAppointments = Appointment::whereDay(
'start_date',
Carbon::now()->addDay()->day
)->get();
... будет получать мне любые встречи, где start_date будет через день. Теперь как бы я отточил это до дня и часа. Если бы я просто использовал предложение where:
$oneDayAppointments = Appointment::where(
'start_date',
Carbon::now()->addHours(24)
)->get();
... Я мог бы получить точные совпадения, но только если бы минуты / секунды были также совпадением. Спасибо!