Kab*_*ble 0 database connection symfony fosuserbundle
我想建立一个用户可以登录注册的网站.对于用户管理,我使用FOSUserbundle.现在我想为FOSUserBundle使用与其他bundle不同的数据库连接.我的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: ~
Run Code Online (Sandbox Code Playgroud)
当我尝试加载页面时,我收到错误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
Run Code Online (Sandbox Code Playgroud)
在config.yml中.唯一的问题是,它只生成文档中新实体中定义的表.只生成一个id字段,而不是像它应该生成的整个fos_user表.
我知道以前曾经问过一些类似的问题,但我尝试使用那里的所有解决方案,但它没有用.那么我该如何解决这个问题呢?它甚至可能吗?我真的需要使用单独的数据库,因为我的项目将使用很多表,我不希望它太乱.
user:
connection: user
mappings:
FOSUserBundle: ~
MyProjectUserBundle: ~
Run Code Online (Sandbox Code Playgroud)
需要将FOSUserBundle添加到映射中以消除实体错误
并确保在config.ym中设置了model_manager_name;
fos_user:
db_driver: orm
firewall_name: main
user_class: Cerad\Bundle\AccountBundle\Entity\AccountUser
model_manager_name: user
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2973 次 |
最近记录: |