数据库配置的更改不会生效


Changes in database configuration do not take effect

在laravel 5中,我创建了中间件来更改数据库凭据:

config([
    'database.connections.mysql.database' => 'someDB',
    'database.connections.mysql.username' => 'someUser',
    'database.connections.mysql.password' => 'somePass'
]);

使用使用中间件的路由,我试图在控制器中输出当前数据库:

exit(config('database.connections.mysql.database'));

正确设置为"'someDB'"。当我在同一函数中使用eloquent时,它会尝试联系"旧"数据库,而不是我在中间件中设置的'someDB'设置。

对此有什么想法吗?

我找到了一个解决方案,只需创建一个新的连接:

config([
    'database.connections.mysql2.database' => 'someDB',
    'database.connections.mysql2.username' => 'someUser',
    'database.connections.mysql2.password' => 'somePass',
    'database.connections.mysql2.driver' => 'mysql',
    'database.connections.mysql2.host' => 'localhost',
    .....
    // setting default connection to mysql2
    'database.default' => 'mysql2',
]);