日期到期时运行功能控制器

时间:2016-10-17 20:38:18

标签: javascript php laravel

我正在开发一个新项目,其中用户公共添加过期日期

在我的数据库中,我有date_createdexpire_date,如下图所示: enter image description here

我想在添加过期后运行我的控制器的功能。

我想发送电子邮件并执行其他功能。

我不知道这是否可以用laravel php框架。

我正在使用laravel 5.2。

我可以将创建的过期日期和日期添加到我的视图中。

我看到使用JavaScript我可以使用间隔并创建倒计时时间,但我不知道我是否可以在倒数完成后运行一个函数。

3 个答案:

答案 0 :(得分:0)

我认为您需要在服务器上添加一个cron作业,并按照此处所述创建自己的逻辑https://laravel.com/docs/5.2/scheduling

答案 1 :(得分:0)

基本上你添加到laravel框架 https://laravel.com/docs/5.1/mail。 部分排队电子邮件。

Mail::queue('emails.welcome', $data, function ($message) {
//change atributes
});

然后你可以在php中添加倒计时到laravel框架或者使用一些计算时间的预定义框架函数。

从数据库中选择正确的表格和

SELECT expire_date FROM table_name
//take value from table and compare with current time
if ($row["expire_date"] == time() )

PHP Countdown to Date

答案 2 :(得分:0)

假设您的模型是User,请在函数调度程序下添加您的App / Console / Kernel.php:

 $schedule->call(function () {
            foreach (User::all() as $user) {
                if (Carbon::now() > $user->expire_date) {
                     // Do what you have to do
                }
            }
        })->everyMinute();

要测试它,请运行php artisan schedule:run

如果有效,可以在你的cron上添加:

* * * * * php /path/to/artisan schedule:run >> /dev/null 2>&1