Doctrineを使用してZF2プロジェクトにマルチデータベース接続をセットアップしました。1つはデータベースから読み取り、もう1つは書き込みを行います。
別々に使用するとすべてがうまく機能しますが、同じエンティティで両方を使用しようとすると、次のようになります。
ユーザーを見つける:
$ user = $ this-> getReaderObjectManager()-> getRepository('Entity \ User')-> findOneBy(array('username' =>'xpto'));
次に、何かを変更してみます。
$ this-> getWriterObjectManager()-> persist($ user); $ user-> setBlabla('bla');
そしてそれをフラッシュしてみてください:
$ this-> getWriterObjectManager()-> flush();
nothin'が発生します。ダメ。
readerObjectManagerとwriterObjectManagerには独立した「エンティティプール」があるようです。そのため、一方のエンティティをもう一方のマネージャーから永続化して変更することはできません。
あるマネージャーから別のマネージャーにエンティティを渡す方法、参照する方法、または両方のマネージャーが同じ「エンティティプール」を共有する単純な方法はありますか?
前もって感謝します。