任何artisan命令上的Laravel调用方法

任何artisan命令上的Laravel调用方法,laravel,laravel-5,Laravel,Laravel 5,运行php artisan命令时,是否可以设置自动更改数据库中的值的方法?我试图实现的是,每当我将代码推送到live/staging环境时,自动更改“domains”表中第一行的值,以适应.env文件中的url。是否有任何方法可以自动执行此操作,而无需我手动进入数据库并对其进行更改 您可以为本机事件CommandFinished设置侦听器,并检查该命令是否为config:cache Event::listen('Illuminate\Console\Events\CommandFinished'

运行php artisan命令时,是否可以设置自动更改数据库中的值的方法?我试图实现的是,每当我将代码推送到live/staging环境时,自动更改“domains”表中第一行的值,以适应.env文件中的url。是否有任何方法可以自动执行此操作,而无需我手动进入数据库并对其进行更改

您可以为本机事件CommandFinished设置侦听器,并检查该命令是否为config:cache

Event::listen('Illuminate\Console\Events\CommandFinished', function ($event) {
    if ($event->command == 'config:cache') {
        // Change domains table data using Eloquent or Query Builder
    }
});

要了解有关事件的更多信息,请参阅:

这很有意义。让我看看它是否有效,干杯我如何测试这个想法?我已经把它编码出来了,但它似乎不起作用<代码>事件::侦听('illumb\Console\Events\CommandFinished',函数($Event){if($Event->command=='config:cache'){$url=\config::get('constants.APP_url');$domain=\APP\domain::where('id',2)->更新(数组('url'=>$url));})