php - 如何在 Carbon 中剩余天数
问题描述
我想向用户发送两次电子邮件:在某个到期日期前 3 天和 1 天。因此,对于13/04/2019的到期日期,我想在10/04/2019和12/04/2019发送电子邮件。
我有这段代码,但它不能正常工作:
if($expireDate <= Carbon::now()->subDays(3) && $expireDate <= Carbon::now()->subDays(1)){
Mail::to($userEmail)->send(new UserPlanNearExpire($planName, $expireDate, $user));
}
更新
这是我的工作处理方法
public function handle()
{
$userCurrentType = User::get();
foreach($userCurrentType as $user)
{
$userEmail = $user->email;
$user = $user;
foreach($user->invoices as $invoice){
$planName = $invoice->type->name;
$expireDate = $invoice->plan_expire;
}
//sending email
$expireDate = new Carbon($expireDate);
$days = $expireDate->diffInDays();
if ($days === 1 or $days === 3) {
Mail::to($userEmail)->send(new UserPlanNearExpire($planName, $expireDate, $user));
}
}
}
逻辑:
这是我的数据库,通常我应该为具有 id 的用户收到两封电子邮件,1
因为2
他们是1
并且3
距离过期日期还有几天。
我得到什么:
我只收到第一个用户的一封电子邮件,首先我想可能是因为我的邮件代码在里面foreach (loop)
但是当我把它移出循环时它没有发送任何邮件:)
任何想法?
解决方案
推荐阅读
- android - 反应原生:重启手机后应用程序消失
- arrays - 为什么无法从 reactjs 中的 json 响应中读取数组子元素?
- c++ - 文件名后的 Clang 关键字
- css - Material-UI 中的 JssProvider 没有将我的自定义生产前缀应用于 CSS
- android - 再次按返回退出 android studio
- ruby-on-rails - 活动管理导轨中的分页计数问题
- c++ - 如何 C++ 编译静态第三方库,其中包含其他人在主应用程序中使用的另一个库
- unity3d - 我需要白色的碎片在马路的顶部,而不是在马路后面
- c++ - 带有表达式模板的多维数组模板类
- apache-spark - spark中用于添加新列的withcolumn()未显示结果