1

是否有任何简单的解决方案如何使用 Doctrine 在一个数据库上执行 INSERT 查询并在另一个数据库上执行 SELECT 查询?

我正在尝试将 Doctrine 与 Mysql 复制一起使用...

4

1 回答 1

1

已经找到解决方案,需要修改2个类:

类 Doctrine_Query,更改 preQuery 方法:

public function preQuery()
{
    $doctrine_manager = Doctrine_Manager::getInstance();

    if ($this->getType() == Doctrine_Query::SELECT) {
       $this->_conn = $doctrine_manager->getConnection('slave');
    } else { 
       $this->_conn = $doctrine_manager->getConnection('master');
    }
}

类 Doctrine_Record,更新方法保存:

public function save(Doctrine_Connection $conn = null)
{
    if ($conn === null) {
        $conn = Doctrine_Manager::getInstance()->getConnection('master');
    }
    parent::save($conn);
}
于 2012-04-11T15:57:06.543 回答