php – Doctrine 2 – 多数据库配置和使用
发布时间:2020-12-13 14:03:45 所属栏目:PHP教程 来源:网络整理
导读:我有一个具有 MySQL数据库的Symfony2项目: #app/config/config.ymldoctrine: dbal: driver: %database_driver% # host: %database_host% # | port: %database_port% # | Defined in dbname: %database_name% # | parameters.ini user: %database_user% # |
我有一个具有
MySQL数据库的Symfony2项目:
#app/config/config.yml doctrine: dbal: driver: %database_driver% # < host: %database_host% # | port: %database_port% # | Defined in dbname: %database_name% # | parameters.ini user: %database_user% # | password: %database_password% # < orm: auto_generate_proxy_classes: %kernel.debug% auto_mapping: true 现在我想对其他数据库进行简单的查询(例如例程调用). 我应该在配置文件中定义一个其他dbal吗?
您需要添加另一个级别的配置,并且还使用
multiple entity managers,因为Doctrine每个数据库连接使用1个实体管理器.您的配置可能如下所示:
doctrine: dbal: connections: default: driver: %database_driver% # < host: %database_host% # | port: %database_port% # | Defined in dbname: %database_name% # | parameters.ini user: %database_user% # | password: %database_password% # < another: driver: %database2_driver% # < host: %database2_host% # | port: %database2_port% # | Defined in dbname: %database2_name% # | parameters.ini user: %database2_user% # | password: %database2_password% # < 然后,您定义多个实体管理器 doctrine: orm: default_entity_manager: default entity_managers: default: connection: default mappings: AcmeDemoBundle: ~ AcmeStoreBundle: ~ another: connection: another mappings: AcmeCustomerBundle: ~ 那么在您的操作中,您可以使用以下内容来获取正确的实体管理器: $em = $this->get('doctrine')->getEntityManager('default'); $em = $this->get('doctrine')->getEntityManager('another'); 取决于您所需的实体经理 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |