我正在开发一个laravel API,想要在注册一个月后激活用户(免费试用),然后在月底停用它们。激活将通过MySQL db中的users表中的活动列。因此,对于要激活的用户:active = 1,否则active = 0。
在注册方法中,我这样做:$user->active = 1;
现在,我怎么能让它成为:一个月后自动激活= 0
答案 0 :(得分:2)
我也会选择工匠指令。您可能需要考虑时区差异等。可选地,您可以通过在用户尝试登录时运行逻辑来节省处理时间。这样你就懒得加载逻辑并在必要时执行,而不是每天运行一次,反复通过所有用户等等。
答案 1 :(得分:1)
您应该在服务器中添加一个cron作业。这个cron作业每天运行一次,检索注册后一个月的用户并停用它们。
对于linux服务器:
您应该运行命令:
crontab -e
并为例子添加此文本:
0 0 * * * php /path/to/your/script.php
每天00h00运行脚本
答案 2 :(得分:1)
为此你必须创建每天运行的crone。在这个crone中,你必须编写脚本,该脚本将获得所有月份用户的用户并将其状态更新为0。
让我知道您是否有任何疑问!