Abh*_*yan 3 php mysql database laravel laravel-5
这是我指定的数据库连接。
'mysql_test' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database'=> '',
'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' => true,
'engine' => null,
],
Run Code Online (Sandbox Code Playgroud)
现在我尝试更改database代码中的值,然后像这样连接到数据库
for( $i = 1; $i <=4 ; $i++)
{
$db='test_'.$i;
DB::connection('mysql_test')->statement('CREATE DATABASE '.$db.';' );
Config::set('database.connections.mysql_test.database' , $db);
error_log(config('database.connections.mysql_test.database'));
DB::reconnect('mysql_test');
error_log(DB::connection('mysql_test')->getDatabaseName());
}
Run Code Online (Sandbox Code Playgroud)
config与第一个一样,值正在发生变化error_log,我正在获取更改后的config值。但是,当我使用更新后的配置再次连接回同一连接时,我没有获取数据库名称。连接未与任何数据库关联。
您可以尝试purge连接,以便它断开连接并将其从数据库管理器上的缓存中删除:
...
Config::set('database.connections.mysql_test.database', $db);
DB::purge('mysql_test');
dump(DB::connection('mysql_test')->getDatabaseName());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4420 次 |
| 最近记录: |