【发布时间】:2013-02-04 11:51:06
【问题描述】:
我在我的 ZF2 项目中使用 Doctrine 设置了一个多数据库连接,一个用于读取数据库,另一个用于写入。
单独使用时一切正常,但当我尝试在同一个实体上使用两者时,例如:
寻找用户:
$user = $this->getReaderObjectManager()->getRepository('Entity\User')->findOneBy(array('username' =>'xpto'));
然后尝试改变一些东西:
$this->getWriterObjectManager()->persist($user); $user->setBlabla('bla');
然后尝试刷新它:
$this->getWriterObjectManager()->flush();
什么都没发生。不好。
似乎 readerObjectManager 和 writerObjectManager 有它们独立的“实体池”,所以我不能持久化并从另一个管理器更改一个实体。
有没有办法将实体从一个管理器传递给另一个管理器,或者引用它,或者两个管理器共享同一个“实体池”?
提前致谢。
【问题讨论】:
标签: doctrine-orm zend-framework2