Symfony 3具有多个实体管理器和KnpLabs的翻译

时间:2017-06-09 08:39:15

标签: symfony doctrine entity translation

我的项目有问题,我正在使用KnpLabs DoctrineBehavior进行实体翻译,我需要连接两个实体管理器,当我将翻译添加到非默认实体管理器时,我收到映射错误:

  

链中找不到“NodoBundle \ Entity \ Club”类   配置的命名空间BackendBundle \ Entity,UserBundle \ Entity,   FOS \ UserBundle \ Model 500内部服务器错误 - MappingException

这是我的实体经理配置

doctrine:
dbal:
    default_connection: default
    connections:
        default:
            driver:   pdo_mysql
            host:     "%database_host%"
            port:     "%database_port%"
            dbname:   "%database_name%"
            user:     "%database_user%"
            password: "%database_password%"
            charset:  UTF8
            mapping_types:
                enum: string
        nodo:
            driver:   pdo_mysql
            host:     "%database_host2%"
            port:     "%database_port2%"
            dbname:   "xxxx"
            user:     "%database_user%"
            password: "%database_password%"
            charset:  UTF8
  orm:
    auto_generate_proxy_classes: "%kernel.debug%"
    default_entity_manager: default
    entity_managers:
        default:
            connection: default
            naming_strategy: doctrine.orm.naming_strategy.underscore
            auto_mapping: true
            mappings:
                BackendBundle: ~
                FrontendBundle: ~
                UserBundle: ~
                FOSUserBundle: ~
        nodo:
            connection: nodo
            naming_strategy: doctrine.orm.naming_strategy.underscore
            mappings: 
                NodoBundle: ~
                DoctrineBehaviorsBundle: ~

我正在尝试不同的映射配置,但没有一个有效。

1 个答案:

答案 0 :(得分:0)

我相信(如果我没有错误地检查代码),实体管理器的选择被设置为TranslatableListener(在配置中)的'connection'参数,因此您需要将其更改为适当的连接。 / p>