如果用户的帐户将在 5 天后过期,则通知用户 - Laravel

Sam*_*ami 1 laravel eloquent laravel-5

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

添加app\console\kernel.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();
}
Run Code Online (Sandbox Code Playgroud)

Gab*_*iel 5

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

如果您的expiration_time列类型是DATE,您应该使用

Carbon::now()->addDays(5)->toDateString()
Run Code Online (Sandbox Code Playgroud)

如果您的expiration_time列类型是DATETIME,您应该使用

Carbon::now()->addDays(5)
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助。