问题描述:

I have added SonataUserBundle and it is giving error

config.yml

doctrine:

orm:

auto_generate_proxy_classes: "%kernel.debug%"

naming_strategy: doctrine.orm.naming_strategy.underscore

auto_mapping: true

entity_managers:

default:

mappings:

ApplicationSonataUserBundle: ~

SonataUserBundle: ~

error

Unrecognized options "naming_strategy, auto_mapping, dql" under

"doctrine.orm"

网友答案:

You are mixing shortened and full configuration.

If you just want to use the default entity manager then you can place everything under the orm key (the shortened config). This will be remapped so that it is under doctrine.orm.entity_managers.default by the bundle extension.

If, however, you want to chaneg the name of the entity manager or use multiples then you would need to use the full configuration specifying each entity manager.

Shortened Config

doctrine: 
    orm:
        auto_generate_proxy_classes: "%kernel.debug%"
        naming_strategy: doctrine.orm.naming_strategy.underscore
        auto_mapping: true
        mappings:
            ApplicationSonataUserBundle: ~
            SonataUserBundle: ~

Full Config

doctrine: 
    orm:
        auto_generate_proxy_classes: "%kernel.debug%"
        entity_managers:
            default:
                naming_strategy: doctrine.orm.naming_strategy.underscore
                auto_mapping: true
                mappings:
                    ApplicationSonataUserBundle: ~
                    SonataUserBundle: ~
网友答案:

Do you think it is necessary to configure the mappings manually if you set auto_mapping to true?

Doctrine's auto_mapping feature loads annotation configuration from the Entity/ directory of each bundle and looks for other formats (e.g. YAML, XML) in the Resources/config/doctrine directory.

http://symfony.com/doc/current/reference/configuration/doctrine.html#custom-mapping-entities-in-a-bundle

相关阅读:
Top