我已经在我的 ZF2 项目上使用 Doctrine 设置了一个多数据库连接,一个用于从数据库读取,另一个用于写入。
单独使用时一切正常,但是当我尝试在同一个实体上使用两者时,例如:
查找用户:
$user = $this-> getReaderObjectManager ()->getRepository('Entity\User')->findOneBy(array('username' =>'xpto'));
然后尝试改变一些东西:
$this-> getWriterObjectManager ()->persist($user); $user->setBlabla('bla');
然后尝试冲洗它:
$this-> getWriterObjectManager ()->flush();
什么都没有发生。不好。
似乎readerObjectManager和writerObjectManager有他们独立的“实体池”,所以我不能坚持和改变另一个经理的一个实体。
有没有办法将实体从一个管理器传递给另一个管理器,或者引用它,或者两个管理器共享相同的“实体池”?
提前致谢。