我使用doctrine事件(监听器和订阅者),在这两者中我都有这样的问题:当我运行postPersist时,他们不会一直运行。我的意思是在一个foreach我称之为doctrine remove但事件只调用一次而不是更多?有人可以给我一些指示吗?
示例代码如下:
foreach ($input as $key => $value) {
$entity = $this
->findOneBy([$this->primaryKeyName => $value[$this->primaryKeyName]]);
if($i!=1)
$this->_em->getEventManager()->dispatchEvent('postUpdate',new LifecycleEventArgs($entity,$this->_em));
$i++;
$this->_em->remove($entity);
$this->_em->flush();
$result[] = $value;
}
return $result;