Symfony + Doctrine + MD5问题

Tis*_*tou 4 symfony doctrine-orm

我想在我的Symfony包中使用sql函数MD5,所以我在\ MyCompany\MyBundle\DQL\MD5Function中添加了文件(https://gist.github.com/Basster/2774738).

然后我改变了我的config.yml文件:

# app/config/config.yml
doctrine:
    orm:
        auto_generate_proxy_classes: "%kernel.debug%"
        naming_strategy: doctrine.orm.naming_strategy.underscore
        auto_mapping: true
        # Added configuration for MD5 function
        entity_managers:
            default:
                dql:
                    string_functions:
                        MD5: MyCompany\MyBundle\DQL\MD5Function
Run Code Online (Sandbox Code Playgroud)

但是我有以下错误:

ArrayNode.php第309行中的InvalidConfigurationException:"doctrine.orm"下无法识别的选项"naming_strategy,auto_mapping"

小智 20

您将一个实体管理器配置与多实体管理器配置混合一个.

你应该使用:

# app/config/config.yml
doctrine:
    orm:
        auto_generate_proxy_classes: "%kernel.debug%"
        naming_strategy: doctrine.orm.naming_strategy.underscore
        auto_mapping: true
        # Added configuration for MD5 function
        dql:
            string_functions:
                MD5: MyCompany\MyBundle\DQL\MD5Function
Run Code Online (Sandbox Code Playgroud)

要么:

# app/config/config.yml
doctrine:
    orm:
        entity_managers:
            default:
                auto_generate_proxy_classes: "%kernel.debug%"
                naming_strategy: doctrine.orm.naming_strategy.underscore
                auto_mapping: true
                # Added configuration for MD5 function
                dql:
                    string_functions:
                        MD5: MyCompany\MyBundle\DQL\MD5Function
Run Code Online (Sandbox Code Playgroud)