通知用户他们的帐户将在 5 天后过期 - Laravel



有很多用户在我的网站上购买高级帐户。如何选择帐户到期日正好在 5 天后的用户,并通知他们续订帐户?

appconsolekernel.php添加下面的函数,但不知道如何在查询中对时间进行编码。

/**
 * Define the application's command schedule.
 */
protected function schedule(Schedule $schedule)
{
    // $schedule->command('inspire')
    //          ->hourly();
    $schedule->call(function () {
        $users = User::where('expiration_time', '=', Carbon::now()->addDays(5))->get();
        //Notify related user about account emigrations
        Notification::send($users, new AccountExpiration());
    })->daily();
}

您的代码是正确的,唯一可能导致查询失败的一件事是您的 datebase 表列类型。

如果expiration_time列类型为 DATE,则应使用

Carbon::now()->addDays(5)->toDateString()

如果expiration_time列类型是 DATETIME,则应使用

Carbon::now()->addDays(5)

希望这有帮助。

让用户在今天和 5 天后之间。

User::whereBetween('expiration_time', [Carbon::now(), Carbon::now()->addDays(5)])->get();

或者

User::whereBetween('expiration_time', [date("Y-m-d"), date("Y-m-d", strtotime("+5 days"))])->get();

相关内容

  • 没有找到相关文章

最新更新