0

多くのデータベース接続があります。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);
4

1 に答える 1

1

私は通常、database.php(上記のように)で他のdb接続を定義し、モデルで次のように呼び出すことができます:

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

このようにすると、すべての接続が 1 か所に保持され、維持が容易になります。

次の質問もご覧になることをお勧めします:複数のデータベース接続。どのような問題を抱えているのか正確にはわかりません。

于 2012-04-15T18:56:43.867 に答える