首页 > 解决方案 > 如何配置我的实体事件侦听器在供应商侦听器之前运行 | Doctrine 实体事件监听器的优先级

问题描述

免责声明:是的,这个问题可能看起来是重复的,但是由于没有关于如何解决这个问题的明确/通用答案,我想这可能会再次出现,并且可能我们会得到明确的方法来应对所描述的问题。

您好,我遇到了一个问题,即在我的供应商文件夹中,我有一些默认值doctrine.orm.entity_listener,其中prePersist包含一些逻辑方法。但在某些情况下,我不会让这个prePersist事件发生并停止持续/刷新当前实体。我试图用 tag 属性来处理这种情况priority,但这不起作用,因为学说似乎不支持实体侦听器的优先级。有人可以给我一个建议,告诉我如何让我自己的prePersist听众在供应商之前运行吗?

这是我的优先代码示例:

acme_demo.event_listener.vendor_entity:
    class: 'Acme\Bundle\AcmeDemoBundle\EventListener\VendorEntityListener'
    tags:
        - { name: doctrine.orm.entity_listener, entity: '%vendor_entity.class%', event: prePersist, priority: 1000 }

此致。

标签: doctrine-ormormdoctrinesymfony-2.8

解决方案


推荐阅读