Codeigniter - 多个数据库连接

Jel*_*leP 1 php mysql database codeigniter

我在Codeigniter上遇到多个数据库连接问题.在我的database.php我配置了两个数据库.

$active_group = 'cms';
$active_record = FALSE;
     $db['cms']['hostname'] = 'localhost';
    $db['cms']['username'] = 'yoloo_cms';
    $db['cms']['password'] = 'password'; 
    $db['cms']['database'] = 'yoloo_cms'; 
    $db['cms']['dbdriver'] = 'mysql';
    $db['cms']['dbprefix'] = '';
    $db['cms']['pconnect'] = TRUE;
    $db['cms']['db_debug'] = TRUE;
    $db['cms']['cache_on'] = FALSE;
    $db['cms']['cachedir'] = '';
    $db['cms']['char_set'] = 'utf8';
    $db['cms']['dbcollat'] = 'utf8_general_ci';
    $db['cms']['swap_pre'] = '';
    $db['cms']['autoinit'] = TRUE;
    $db['cms']['stricton'] = FALSE;

    $db['hazeleger']['hostname'] = 'localhost';
    $db['hazeleger']['username'] = 'yoloo_websites';
    $db['hazeleger']['password'] = 'password2'; 
    $db['hazeleger']['database'] = 'yoloo_hazeleger'; 
    $db['hazeleger']['dbdriver'] = 'mysql';
    $db['hazeleger']['dbprefix'] = '';
    $db['hazeleger']['pconnect'] = TRUE;
    $db['hazeleger']['db_debug'] = TRUE;
    $db['hazeleger']['cache_on'] = FALSE;
    $db['hazeleger']['cachedir'] = '';
    $db['hazeleger']['char_set'] = 'utf8';
    $db['hazeleger']['dbcollat'] = 'utf8_general_ci';
    $db['hazeleger']['swap_pre'] = '';
    $db['hazeleger']['autoinit'] = TRUE;
    $db['hazeleger']['stricton'] = FALSE;
Run Code Online (Sandbox Code Playgroud)

在我的模型中,当我想要连接到另一个数据库而不是通常的数据库时,我会使用它:

function __construct()
{
  parent::__construct();
  $this->load->database('hazeleger',TRUE);
}
Run Code Online (Sandbox Code Playgroud)

但是,codeigniter始终连接到cms.当我删除

$active_group = 'cms';
$active_record = FALSE;
Run Code Online (Sandbox Code Playgroud)

Codeingiter发出错误.当我试着这个

function __construct()
{
  parent::__construct();
  $db2 = $this->load->database('hazeleger',TRUE);
}

function test()
{
      $query  = "SELECT * FROM cms_modules";
      $result = $db2->db->query($query);
      return $db2->result();
}
Run Code Online (Sandbox Code Playgroud)

它给出了一个错误.Variabele db2不存在.我只想在每种型号中选择我想连接的数据库.但是不行,不行.有人知道,我如何在模型中使用不同的数据库.

非常感谢你!!

Mas*_*sim 5

您必须将变量$ db2保存为类字段.你可以访问$ this-> db2 ...