如何更新数据库名称并为整个会话laravel 5.5设置永久连接?

时间:2019-05-13 09:57:08

标签: php laravel laravel-5

我有动态产生的辅助连接,这是代码

 'userdb' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3306'),
            'database' => DYNAMIC_DATABASE_NAME,
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'prefix_indexes' => true,
            'strict' => false,
        ],

因此,一旦使用已登录的帐户,我想进行更新以动态更新此数据库并重新连接到此 userdb

我使用了以下代码,但这并不能提供持久的数据库连接,我每次都必须手动进行连接。 有什么建议吗?

DB::purge('userdb');
config(['database.connections.userdb.database' => 'test']);
DB::reconnect('userdb');
DB::connection('userdb');

1 个答案:

答案 0 :(得分:0)

1。首先设置数据库名称

\Config::set('database.connections.userdb.database','test');

2。设置数据库名称后,您需要清除数据库缓存

\DB::purge('userdb');

在清除数据库缓存后3.set默认连接

\DB::setDefaultConnection('userdb');