複数のEntityManagerを利用し、複数のデータベースからデータを取得したり更新する方法はないのかというご質問をよくお受けします。
既存サイトとの連携やモールショップ化では頻繁に必要となってくる技術かと思います。

なかなか説明するのは難しいのですが、Doctrineの設定上でアクセスするデータベースは幾つでも増やすことが可能です。

具体的にはApplication.phpのorm.ems.optionsに配列形式で複数の設定を渡してやります。

この新しい設定$options2にはデータベースの接続情報(connection)とDoctrineのマッピング情報(dcm.yml)の場所を指定することで複数のエンティティマネージャを利用可能となります。

コントローラからは$em = $app[‘orm.ems’][‘default2’]という形式でEntityManagerにアクセスが可能です。

関連するカスタマイズ

Entities passed to the choice field must be manage... 今回はDoctrineのEntityに関するちょっと難しい話題です。 choiceタイプやentityタイプのフォームでデータベースの内容を表示しようとした時(主にセレクトボックスやチェックボックス) Entities passed to the choice field must be m...
Your proxy directory “/var/www/src/Eccube/..... SSHからマイグレーションなどapp/consoleのコマンドを実行しようとした際に、ドクトリンのキャッシュファイルを書き込めないために発生するエラーです。 通常app/cache/doctrine/proxiesは所有者もグループもapacheとなるため、コマンドラインから他のユーザ...
Twig内で文字列の一部分を切り出す方法 Slice使用... twigテンプレート内で文字列の一部を切り出したい時があります。 そんな時はsliceフィルタを使用してtwig内だけで切り出しを実行することが可能です。 2文字目以降を切り出す(1文字目を削除) sliceフィルタの第1引数は開始位置です。 sliceフィルタにはシンタックスシ...
ドクトリンで用いられるエンティティとレポジトリとは?... EC-CUBE3やEC-CUBE4で開発を行なっていると必ず耳にするのがドクトリンやエンティティ、レポジトリといったデータベース周りの用語です。 ECサイトはデータベースと密接に関係しているため、これらを用いずにEC-CUBEの開発を行うことは不可能です。 エンティティとレポジトリとは? ...