2017-05-27 51 views
1

我正在使用laravel API,并希望在注册一个月后激活用户(免费试用),然后在月底停用它们。激活将通过MySQL数据库中用户表中的活动列。因此,要激活用户:active = 1,否则active = 0。在特定时间更改数据库字段

在登记方法我这样做:$user->active = 1;

现在,我怎样才能使它是:活性= 0一个月之后自动??

+2

写一个'artisan'命令,每天从服务器的crontab中调用它。该命令应查找一个月前创建的所有活动用户,这些用户正在免费试用并停用它们。 – fubar

回答

1

你应该在你的服务器上添加一个cron作业。这个cron作业每天运行一次,检索注册后一个月的用户并取消激活它们。

对于Linux服务器:

您应该运行命令:

crontab -e 

,并添加这个文本为例:在00h00

2

0 0 * * * php /path/to/your/script.php 

每天运行脚本

我会选择工匠的命令。您可能需要考虑时区差异等。可选地,您可以通过在用户尝试登录时运行逻辑来节省处理时间。这样你就可以延迟加载逻辑,并在必要时执行,而不是每天运行一次,反复遍历所有用户等。

1

为此,您必须创建每日运行的crone。在这个crone中,你必须编写一个脚本,它可以让所有用户在一个月前得到更新,并将他们的状态更新为0.

让我知道你是否有任何疑问!

相关问题