我正在使用laravel API,並希望在註冊一個月後激活用戶(免費試用),然後在月底停用它們。激活將通過MySQL數據庫中用戶表中的活動列。因此,要激活用戶:active = 1,否則active = 0。在特定時間更改數據庫字段
在登記方法我這樣做:$user->active = 1;
現在,我怎樣才能使它是:活性= 0一個月之後自動??
我正在使用laravel API,並希望在註冊一個月後激活用戶(免費試用),然後在月底停用它們。激活將通過MySQL數據庫中用戶表中的活動列。因此,要激活用戶:active = 1,否則active = 0。在特定時間更改數據庫字段
在登記方法我這樣做:$user->active = 1;
現在,我怎樣才能使它是:活性= 0一個月之後自動??
你應該在你的服務器上添加一個cron作業。這個cron作業每天運行一次,檢索註冊後一個月的用戶並取消激活它們。
對於Linux服務器:
您應該運行命令:
crontab -e
,並添加這個文本爲例:在00h00
0 0 * * * php /path/to/your/script.php
每天運行腳本
我會選擇工匠的命令。您可能需要考慮時區差異等。可選地,您可以通過在用戶嘗試登錄時運行邏輯來節省處理時間。這樣你就可以延遲加載邏輯,並在必要時執行,而不是每天運行一次,反覆遍歷所有用戶等。
爲此,您必須創建每日運行的crone。在這個crone中,你必須編寫一個腳本,它可以讓所有用戶在一個月前得到更新,並將他們的狀態更新爲0.
讓我知道你是否有任何疑問!
寫一個'artisan'命令,每天從服務器的crontab中調用它。該命令應查找一個月前創建的所有活動用戶,這些用戶正在免費試用並停用它們。 – fubar