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']);
}
这样的话就可以在接下来的数据库中使用切换的数据库