Mysql Zend_Db使用多个数据库?

Mysql Zend_Db使用多个数据库?,mysql,zend-db,Mysql,Zend Db,是否有一种方法可以使用Zend_Db进行更新并跨多(两)个数据库插入? 例如 UPDATE database1.tableA AS a1, databse2.tableA as a2 SET a1.content = a2.content WHERE a1.id = a2.id 我如何使用Zend_Db_Adapter_Pdo_Mysql实现这一点?我的application.ini文件中定义了多个数据库 我用过这样的方法: // REGISTRY Zend_Registry::set('co

是否有一种方法可以使用Zend_Db进行更新并跨多(两)个数据库插入? 例如

UPDATE database1.tableA AS a1, databse2.tableA as a2 SET a1.content = a2.content WHERE a1.id = a2.id

我如何使用Zend_Db_Adapter_Pdo_Mysql实现这一点?

我的application.ini文件中定义了多个数据库

我用过这样的方法:

// 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');
或者运行两个模型,都指向不同的数据库

$newModelA = Model_NewModel($db['db_key_name_A']);
$newModelB = Model_NewModel($db['db_key_name_B']);
使用query()方法,我可以使用我的查询。你自己的方法似乎是现在的方向