2017-05-27 46 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.

讓我知道你是否有任何疑問!

相關問題