ManyToOneとBの関係を持つエンティティAがありますが、AとBは同じDBスキーマに属していません。
エンティティ「A」はMyBundleバンドルに属し、エンティティ「B」はMyOtherBundleバンドルに属します。
公式ドキュメントでは、さまざまな接続を操作する方法について説明しています。複数のスキーマ=複数のエンティティマネージャー。しかし、私の場合は、両方のエンティティに参加したいと思います。
することによって:
$this->objEm->getRepository('MyBundle:MyEntity')->find($id);
また
$this->objEm->getRepository('MyBundle:MyEntity')->getMyResult($id);
私は自分のリポジトリの1つだけを呼び出しますが、config.ymlでは1つの接続しか選択できないため、彼はもう1つを取得できないと思います。
doctrine:
dbal:
connections:
connection1:
driver: "%database_driver%"
host: "%database_host%"
port: "%database_port%"
dbname: "%database_name%"
user: "%database_schema1_user%"
password: "%database_schema1_password%"
service: "%database_service%"
charset: "Windows-1252"
connection2:
driver: "%database_driver%"
host: "%database_host%"
port: "%database_port%"
dbname: "%database_name%"
user: "%database_schema2_user%"
password: "%database_schema2_password%"
service: "%database_service%"
charset: "Windows-1252"
orm:
entity_managers:
em1:
connection: connection1
mappings:
MyBundle: ~
MyOtherBundle: ~
em2:
connection: connection2
mappings:
MyOtherBundle: ~
結果:おっと、何かがうまくいかなかったようです。
1 / 1ReflectionException:クラスFQCN \ Of \ MyBundle \ Entity\Bが存在しません..。
「私はそれが存在しないことを知っています、私はあなたに今良い場所を見て欲しいです:FQCN \ Of \ MyOtherBundle \ Entity\Bのように」
エンティティ「B」へのパスを強制するにはどうすればよいですか?