Rem*_*i M 4 php orm doctrine symfony doctrine-orm
我需要preRemove手动调度一个事件,因为我正在软删除一个实体,因此并没有真正删除它.但是我想在实际删除实体时触发相同的侦听器.
我可以使用EventDispatcher(不期望a LifecycleEventArgs)喜欢自定义事件吗?派遣香草事件的最佳方式是什么?
编辑:
感谢bosam回答,这是手动调度vanilla事件的方法:
use Doctrine\ORM\Event\LifecycleEventArgs;
use Doctrine\ORM\Events;
$em = $this->getDoctrine()->getManager();
$eventManager = $em->getEventManager();
$eventManager->dispatchEvent(Events::preRemove, new LifecycleEventArgs($user, $em));
Run Code Online (Sandbox Code Playgroud)
您需要从实体管理器实例调用getEventManager().
例如,对于Doctrine:
$em = $this->getDoctrine()->getManager();
$eventManager = $em->getEventManager();
Run Code Online (Sandbox Code Playgroud)
然后你可以使用发送一个事件$eventManager->dispatchEvent($eventName, EventArgs $eventArgs = null).
| 归档时间: |
|
| 查看次数: |
1940 次 |
| 最近记录: |