我在使用适用于Symfony2的L3pp4ard DoctrineExtensions Bundle实现preSoftDelete事件时遇到问题。 softDelete函数工作正常,但我想在deletedAt(datetime)旁边添加一个deletedBy(userid)。要做到这一点,我想听听被调用的事件(preSoftDelete),但我无法让它工作。 `
可以在github找到(应该)调用该事件的文件。我已确认此脚本已运行。
我已在config.yml中添加了一项服务:
utwente.idbbundle.presoftdelete:
class: Utwente\IdbBundle\EventListener\UtwenteIdbSoftDeleteListener
tags:
- { name: gedmo.listener.softdeleteable, event: preSoftDelete, method: onPreSoftDelete }
我已经制作了应该做某事的类/方法。现在它回显了hello,并停止脚本执行(用于测试)。
<?php
namespace Utwente\IdbBundle\EventListener;
class UtwenteIdbSoftDeleteListener {
public function onPreSoftDelete(LifecycleEventArgs $args){
echo "Hoi";
die();
}
}
?>
但它不起作用。有什么想法吗?
(当我使用name: kernel.event_listener, event: kernel.request
时,它会正常工作,并将LifecycleEventArgs $args
退出。)
答案 0 :(得分:5)
使用
tags:
- { name: doctrine.event_listener, event: preSoftDelete, connection: default }
是答案......