thinkphp6 連接數據庫 在配置文件 database.php 設置,如果需要動態連接,可以使用Env來處理
-
protected function toggleDatabase($company){
// Env::set('database.hostname', $company['db_host_tx_def']);
// Env::set('database.database', $company['db_name_tx_def']);
// Env::set('database.username', $company['db_user_tx_def']);
// Env::set('database.password', $company['db_password_tx_def']);
// Env::set('database.prefix','zq_');
// Config::load('database','database');
$conparas = [
// 數據庫類型
'type' => 'mysql',
// 服務器地址
'hostname' => $company['hostname'],
// 數據庫名
'database' => $company['database'],
// 用戶名
'username' => $company['username'],
// 密碼
'password' => $company['password'],
// 數據庫表前綴
'prefix' => 'xxx',
// 端口
'hostport' => '3306',
];
//獲取現有的數據庫配置信息
$database_config = Config::get('database');
//新增數據庫參數配置
$database_config['connections'][$company['db_name_tx_def']]= $conparas;
//設置database參數為 修改過的database配置參數
$config = Config::set($database_config, 'database');
return Db::connect($company['db_name_tx_def']);
}
這樣的話就可以在接下來的數據庫中使用切換的數據庫