thinkphp6 动态连接数据库


 thinkphp6 连接数据库 在配置文件 database.php 设置,如果需要动态连接,可以使用Env来处理

  1.  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']);
    }

这样的话就可以在接下来的数据库中使用切换的数据库


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM