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