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

时间:2018-04-19 13:06:52

标签: laravel laravel-5 eloquent laravel-eloquent

我的网站上有很多用户购买高级帐户。如何选择帐户到期日为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();
}

2 个答案:

答案 0 :(得分:1)

在今天和5天之后获取用户。

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

或者

* {
  box-sizing: border-box;
  color: #000;
  margin: inherit;
}

html {
  background-color: #dee1ec;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 12px;
}

body {}

a {
  text-decoration: none;
}

.header {
  border-bottom: 1px solid #000;
  border-top: 1px solid #000;
  padding-bottom: 16px;
  padding-top: 16px;
}

.christianmeloni {
  display: inline-block;
  padding-left: 12px;
}

.menu {
  display: inline-block;
  float: right;
  padding-right: 12px;
}

.work:hover,
.about:hover,
.contact:hover {
  text-decoration: underline;
}

.content {
  margin-bottom: 12px;
  margin-top: 12px;
  padding-left: 12px;
  padding-right: 12px;
}

.mission {}

.band {
  border-bottom: 1px solid #000;
  border-top: 1px solid #000;
  padding-bottom: 22px;
  padding-top: 22px;
}

.brand {
  border-right: 1px solid #000;
  display: inline-block;
  min-height: 320px;
  padding-right: 12px;
  width: 20%;
}

.experience {
  border-right: 1px solid #000;
  display: inline-block;
  min-height: 320px;
  padding-left: 12px;
  padding-right: 12px;
  width: 20%;
}

.innovation {
  display: inline-block;
  min-height: 320px;
  padding-left: 12px;
  padding-right: 12px;
  width: 20%;
}

.engagement {
  border-left: 1px solid #000;
  display: inline-block;
  min-height: 320px;
  padding-left: 12px;
  padding-right: 12px;
  width: 20%;
}

.strategy {
  border-left: 1px solid #000;
  display: inline-block;
  min-height: 320px;
  padding-left: 12px;
  width: 20%;
}

.footer {
  border-bottom: 1px solid #000;
  border-top: 1px solid #000;
  padding-bottom: 16px;
  padding-top: 16px;
}

.credit {
  display: inline-block;
  padding-left: 12px;
}

.follow {
  display: inline-block;
  float: right;
  padding-right: 12px;
}

.credit:hover,
.facebook:hover,
.twitter:hover,
.instagram:hover {
  text-decoration: underline;
}

答案 1 :(得分:0)

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

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

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

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

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

希望这有帮助。