错误必须为具有多个数据库的路径“doctrine.orm.entity_managers.db2.mappings”设置属性“name”

时间:2017-01-16 12:50:30

标签: php doctrine-orm doctrine symfony

我有一个使用两个数据库的项目。 Config.yml包的Doctrine部分设置如下。

doctrine:
    dbal:
        default_connection: db1
        connections:
            db1:
                driver:   pdo_mysql
                host:     "%database_host2%"
                port:     "%database_port2%"
                dbname:   "%database_name2%"
                user:     "%database_user2%"
                password: "%database_password2%"
                charset:  UTF8
            db2:
                driver:   pdo_mysql
                host:     "%database_host%"
                port:     "%database_port%"
                dbname:   "%database_name%"
                user:     "%database_user%"
                password: "%database_password%"
                charset:  UTF8
    orm:
        default_entity_manager: em1
        entity_managers:
            em1:
                connection: db1
                mapping:
                    FirstBundle: ~
            em2:
                connection: db2
                mappings:
                    SecondBundle: ~

所有参数都在parameters.yml文件中正确设置。

每当我运行任何$ php bin / console命令时,我都会收到以下错误

  [Symfony\Component\Config\Definition\Exception\InvalidConfigurationException]             
  The attribute "name" must be set for path "doctrine.orm.entity_managers.em2.mappings".

我缺少任何设置吗?

1 个答案:

答案 0 :(得分:0)

我注意到您的em1部分设置为mapping而不是mappings。另外,在我的工作配置中,我将default_entity_manager设置为连接值。所以也许尝试做出这些改变:

orm:
    default_entity_manager: db1
    entity_managers:
        em1:
            connection: db1
            mappings:
                FirstBundle: ~
        em2:
            connection: db2
            mappings:
                SecondBundle: ~

这可能不是问题,但试试吧。