如何获得碳的剩余天数

时间:2019-04-10 21:50:06

标签: php php-carbon

我想向用户发送两次电子邮件:在特定到期日期之前的3天和1天。因此,对于 2019年4月13日的有效期,我想在 2019年4月10日 2019年12月4日发送电子邮件。 / p>

我有此代码,但无法正常运行:

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为12的用户的两封电子邮件,因为它们距到期日期还有13天。 / p>

one

我得到的:

我仅收到第一位用户的一封电子邮件,首先我想可能是因为我的邮寄代码在foreach (loop)内部,但是当我将其移出循环时,它没有发送任何邮件:)

two

有什么想法吗?

0 个答案:

没有答案