2017-11-11 94 views
0

我正在使用揹包laravel,我正在嘗試向訂閱將在未來7天內過期的客戶發送短信。查詢獲取數據取決於數據庫中不存在的變量?

我在我的數據庫中有一個列名爲expiry_date但沒有day_difference的列。

我無法找到我應該如何形成類查詢這個問題的解決方案:

DB::table('clients')->where('expiry_date', 'is greater than 7 days from today_date')->first(); 

對不起這只是一個粗略的補丁,我想作到公平,公正。

這是我曾嘗試

public function notifyPending() { 
    $today_date = Carbon::now(); 
    $entries = Clients::all()->where('gym_code',Auth::user()->gym_code); 

    foreach ($entries as $k => $entry) { 

     $data_differences[] = $today_date->diffInDays(Carbon::parse($entry->expiry_date), false); 

     for($i=0;$i<=sizeof($data_differences);$i++) { 

      if ($data_differences[$i] = 7) { 

      } 

     } 
    } 


} 

我將通過覆蓋crudcontroller的ListView控件調用上的按鈕此功能。

所以我想要的是一個手機號碼數組,其中有7天的訂閱到期。

+0

您正在使用的數據庫郎使用$ DIFF變量7天就日期? MySQL或其他? – Curious

+0

mysql它是先生 –

+0

$ diff = date('Y-m-d',strtotime(「+ 7 days」));把它放在哪裏expiry_date =「$ diff」 – Curious

回答

1

首先,你可以以後使用PHP

$diff=date('Y-m-d', strtotime("+7 days")); 

那麼您可以在您的查詢

where('expiry_date', $diff) 
+0

我想在expiry_date之前7天通知客戶。所以應該是「-7天」還是「+7天」先生? –

+1

在這裏您將獲得將於18-11-2017到期的客戶名單。不,現在,您可以向他們發送所有將於2017年11月11日至2017年11月18日到期的信息。所以它應該是+7 – Curious

+0

好吧,讓我試試。 –