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