私は複数のデータベースは、私はこのようなものを使用している
私のapplication.iniファイルで定義されています:あなたはモデルのコンストラクタにしたいDBを指定あなたのモデルを作成する際に
// REGISTRY
Zend_Registry::set('configuration', $configuration);
foreach($configuration->database as $type => $database){
$db[$type] = Zend_Db::factory(
$database
);
}
Zend_Registry::set('db', $db);
$newModel = Model_NewModel($db['db_key_name']);
次に3つのオプションがあります。独自のオブジェクトを手動でコーディングしてZend_Db_Table_Abstractを拡張し、マルチdb更新機能を持つことができます
/* the code for this example is pseudo code, so it probably wont work but the concept is still good */
class Model_NewModel extends MoakCustomDbClass{
function multi_db_update($db1, $db2, $update, $where)
{
$originalDb = $this->_db;
$this->_db = $db1;
$this->update($update, $where);
$this->_db = $db2;
$this->update($update, $where);
$this->_db = $originalDb;
}
}
、両方
$newModel->query('UPDATE QUERY');
または2つのモデルを実行しているを呼び出して、私は私のクエリを使用することができますquery()メソッドを使用して、異なるデータベース
$newModelA = Model_NewModel($db['db_key_name_A']);
$newModelB = Model_NewModel($db['db_key_name_B']);
でポイントすることによって、独自のカスタムクエリを記述します。あなた自身の方法をロールすることは、今行く方法と思われる – Moak