Laravel - 捕获 php artisan 命令
Posted
技术标签:
【中文标题】Laravel - 捕获 php artisan 命令【英文标题】:Laravel - Catch php artisan commands 【发布时间】:2020-03-17 21:21:09 【问题描述】:我在config/app
中做了一些更改,以使用前端选择的多个数据库,
现在我必须在\Request()->header('database')
中告诉我要访问哪个数据库。
它工作得很好,问题是:当我尝试执行任何工匠命令时,我的逻辑死了,因为没有通知数据库。
所以我需要在 artisan commands 中通知数据库,如下所示:
php artisan migrate --database=sandiego_school
php artisan migrate:rollback --database=newyork_school
如何观察所有命令以获取参数?
【问题讨论】:
【参考方案1】:在这种情况下,我想您应该创建自己的命令来覆盖您要调用的命令,然后在命令的句柄方法中指定您要处理的连接:
\DB::setDefaultConnection($connexion);
或者您也可以简单地在请求中添加标头:
request()->headers->set('database', $dbname)
【讨论】:
我的问题是如何使用命令参数设置这个“数据库”。我无法设置默认连接。以上是关于Laravel - 捕获 php artisan 命令的主要内容,如果未能解决你的问题,请参考以下文章
如何手动使用 composer, artisan ...(Laravel) php 命令