ユーザーがログインして登録できるサイトを構築したいと考えています。ユーザー管理には FOSUserbundle を使用します。ここで、FOSUserBundle に他のバンドルとは異なるデータベース接続を使用したいと考えています。私の config.yml ファイルは次のようになります。
doctrine:
dbal:
default_connection: default
connections:
default:
driver: "%database1_driver%"
host: "%database1_host%"
port: "%database1_port%"
dbname: "§database1_name%"
user: "%database1_user%"
password: "%database1_password%"
charset: UTF8
user:
driver: "%database2_driver%"
host: "%database2_host%"
port: "%database2_port%"
dbname: "%database2_name%"
user: "%database2_user%"
password: "%database2_password%"
charset: UTF8
orm:
default_entity_manager: default
entity_managers:
default:
connection: default
mappings:
MyProjectMainBundle: ~
user:
connection: user
mappings:
MyProjectUserBundle: ~
ページを読み込もうとすると、エラーが発生しますMappingException: The class 'MyProject\UserBundle\Entity\User' was not found in the chain configured namespaces MyProject\MainBundle\Entity, FOS\UserBundle\Model
。
FOSUserBundle のドキュメントに正確に従っていましたが、使用すると機能します
auto_generate_proxy_classes: %kernel.debug%
auto_mapping: true
config.yml で。これに関する唯一のことは、ドキュメントから新しいエンティティで定義されているようなテーブルのみを生成することです。fos_user テーブル全体ではなく、id フィールドのみが生成されます。
以前にも同様の質問がいくつかあったことは知っていますが、そこからすべての解決策を試してみましたが、うまくいきませんでした。では、どうすればこれを修正できますか?それは可能ですか?私のプロジェクトは多くのテーブルを使用するので、別々のデータベースを使用する必要があり、あまり面倒になりたくないのです。