在一定天数后更改用户角色|拉拉韦尔

时间:2020-02-17 13:38:43

标签: laravel

我是两种类型的用户

阅读器:可以阅读书籍

订阅者:无法阅读图书

在我的用户表中,我有trialto列,它在电子邮件验证的日期之后增加了7天。

所以我的问题是,当trialto列等于now()时,触发一个事件或函数来检查trialto列。

我正在构建一个Laravel应用程序,在该应用程序中,当用户注册并验证他的电子邮件时,默认情况下将授予他作为阅读者的读者角色,但如果用户未订阅,则7天后它将恢复为订户。

我不知道如何执行此操作,我认为Laravel计划可以帮助解决此问题。

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

您可以使用Task Scheduling,并将suscripted_date保存在模型中。通过此任务,您可以使Laravel在经过一定时间后检查状况。

答案 1 :(得分:0)

在显示内容时,我只会检查trialto日期,而不将试用用户设置为“读者”:

class User 
{
    public function isSubscriber() 
    {
        return $this->role === 'Reader' || $this->trialto->isFuture();
    }
}