CodeIgniter如何在第一次连接时使用database.php连接多个数据库,在第二次连接时使用Model

CodeIgniter如何在第一次连接时使用database.php连接多个数据库,在第二次连接时使用Model,codeigniter,codeigniter-datamapper,Codeigniter,Codeigniter Datamapper,我有很多数据库连接 我在database.php文件中有主连接 $active_group = 'default'; $active_record = TRUE; $db['default']['hostname'] = 'xxx'; $db['default']['username'] = 'xxx'; $db['default']['password'] = 'xxxx'; $db['default']['database'] = 'xxx'; $db['default']['dbdrive

我有很多数据库连接 我在database.php文件中有主连接

$active_group = 'default';
$active_record = TRUE;
$db['default']['hostname'] = 'xxx';
$db['default']['username'] = 'xxx';
$db['default']['password'] = 'xxxx';
$db['default']['database'] = 'xxx';
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;
我还有更多的人脉。。 但我必须使用[Model]配置另一个连接

我可以将参数传递到database.php吗

或者我可以把这样的代码放在模型中吗

$db['xxx']['hostname'] = 'xxx';
$db['xxx']['username'] = 'xxx';
$db['xxx']['password'] = 'xxxx';
$db['xxx']['database'] = 'xxx';
$db['xxx']['dbdriver'] = 'mysql';
$db['xxx']['dbprefix'] = '';
$db['xxx']['pconnect'] = TRUE;
$db['xxx']['db_debug'] = TRUE;
$db['xxx']['cache_on'] = FALSE;
$db['xxx']['cachedir'] = '';
$db['xxx']['char_set'] = 'utf8';
$db['xxx']['dbcollat'] = 'utf8_general_ci';
$db['xxx']['swap_pre'] = '';
$db['xxx']['autoinit'] = TRUE;
$db['xxx']['stricton'] = FALSE;

$this->load->database('xxx', TRUE);

我通常在database.php中定义其他db连接(如上所述),然后在模型中调用它,如下所示:

$this->xxx_db = $this->load->database('xxx', true); 
$this->xxx_db->set($params);
$sql = $this->xxx_db->insert('table_name');
这样做可以将所有连接保持在一个位置—更易于维护


您可能还希望看到以下问题:。我不太清楚您遇到了什么问题。

我也想使用datamapper