我正在尝试设置不同的实体侦听器解析器,因为我想在几个生命周期回调中使用几个服务。我搜索了一些答案,说它应该在配置中设置类似于这个:
doctrine:
dbal:
driver: "%database_driver%"
host: "%database_host%"
port: "%database_port%"
dbname: "%database_name%"
user: "%database_user%"
password: "%database_password%"
charset: UTF8
orm:
auto_generate_proxy_classes: "%kernel.debug%"
auto_mapping: true
entity_listener_resolver: {HERE!}
然而,当我这样做时,我收到以下错误:
Unrecognized options "entity_listener_resolver" under "doctrine.orm.entity_
managers.default"
此外,当我查看配置参考时,我没有在任何地方看到这样的选项或设置它的选项:http://symfony.com/doc/current/reference/configuration/doctrine.html
那么如何更改实体侦听器解析器?
我正在使用最新的Sf 2.5版本。
答案 0 :(得分:1)
当使用“doctrine / doctrine-bundle”时,我遇到了同样的问题:“~1.2”。
您有两种选择。
1)使用doctrine / doctrine-bundle 1.3 Beta,其中存在关键的entity_listener_resolver。
2)或者使用以下要点使其无需使用密钥即可运行:https://gist.github.com/vadim2404/9538227
更多信息:http://egeloen.fr/2013/12/01/symfony2-doctrine2-entity-listener-as-serice/
来自irc频道的那个人。
答案 1 :(得分:0)
您只能在services.yml中将其用于特定的捆绑包:
orm:
entity_listener_resolver: {your_entity_listener_resolver}
但是在config.yml文件中,您需要为特定的实体管理器设置实体侦听器解析器,例如默认的实体管理器:
orm:
entity_managers:
default:
entity_listener_resolver: {your_entity_listener_resolver}