2017-11-11 97 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

好吧,让我试试。 –