Symony:使用2个实体管理器时的未知实体名称空间别名

时间:2017-09-16 08:54:53

标签: symfony orm doctrine

我正在尝试使用2个DB,然后使用2个实体管理器。 这是我的配置原则部分:

doctrine:
    dbal:
        default_connection: g2s
        connections:
            main:
                driver: pdo_mysql
                host: '%database_host%'
                port: '%database_port%'
                dbname: '%database_name%'
                user: '%database_user%'
                password: '%database_password%'
                charset: UTF8
            api:
                driver: pdo_mysql
                host: '%database_host%'
                port: '%database_port%'
                dbname: api
                user: '%database_user%'
                password: '%database_password%'
                charset: UTF8
    orm:
        auto_generate_proxy_classes: '%kernel.debug%'
        entity_managers:
            default:
                connection: main
                auto_mapping: true
                naming_strategy: doctrine.orm.naming_strategy.underscore
            api:
                connection: api
                naming_strategy: doctrine.orm.naming_strategy.underscore
                mappings:
                    ApiBundle: ~

我运行了命令" config:dump-reference"并且捆绑了映射。 但在尝试浏览任何页面时,我收到此错误: 未知实体名称空间别名' ApiBundle'

1 个答案:

答案 0 :(得分:0)

根据文档,正确的方法是明确设置所有映射,这也是我在项目中所做的。 https://symfony.com/doc/current/doctrine/multiple_entity_managers.html

有一个关于这个问题的帖子,它应该适用于Symfony 2.6+但与@Cerad相同,我没有运气这个。 https://github.com/doctrine/DoctrineBundle/issues/60