2016-09-24 6 views
-1

У меня есть список участников на моем веб-сайте, и у меня есть дата начала и срок их членства, хранящиеся в моей базе данных, как временные метки. Теперь я хочу, чтобы отправить их электронную почтуУглерод - проверьте один месяц, чтобы пройти неделю, и т. Д.

  • один месяц до членства истечения срока
  • за одну неделю до членства истечения срока
  • за один день до членства истечения срока

Как я могу определить, есть ли один месяц/неделя/день остается по истечении срока годности?

Проект выполнен в Laravel 4.2, и я использую Carbon.

Любые идеи?

ответ

3

См. Carbon для получения всех подробностей.

$now = Carbon::now(); 
$week = Carbon::now()->addWeek(); 
$month=Carbon::now()->addMonth(); 

если expiry_date является сохраненной датой истечения срока действия и членом является моделью, используя красноречив, это даст всем членам истекающие в течение одной недели.

$members=Member::where("expiry_date","<", $week)->get(); 
+0

Должен ли я получать массив членов из базы данных, затем выполнять эти расчеты даты в этом массиве и отправлять электронные письма соответственно? Или есть способ получить результаты из базы данных, срок годности которой истекает в этом месяце или на этой неделе и т. Д.? – Jazzbot

+0

@Jazzbot Я обновил ответ. –