2012-04-15 124 views
0

我有许多数据库连接 我在database.php中文件笨如何使用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; 

主连接和我有更多的连接来连接多数据库.. 但我必须使用[模型]

我可以将参数传递给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); 

回答

1

我通常定义在database.php中的其他数据库连接(因为你拥有它上面),然后在模型中,你可以调用它,如:

$this->xxx_db = $this->load->database('xxx', true); 
$this->xxx_db->set($params); 
$sql = $this->xxx_db->insert('table_name'); 

这样做它保持在一个地方所有的连接 - 它更易于维护。

你可能也想看到这个问题:Multiple database connections。我不完全清楚你有什么问题。

+1

我想使用datamapper也 – 2012-04-15 19:17:09

相关问题