2012-05-29 22 views
5

Intento utilizar el Evento onFlush en Doctrine para mantener una entidad nueva, pero conduce a un bucle infinito cuando intento persistir. Aquí es lo que hago en el oyente:persistir nueva entidad onFlush

$countusers = $em->getRepository('DankeForumBundle:NotificationUser')->countNotificationsByDeal($entity); 
if ($countusers > 0) { 
    $notification = new NotificationAction(); 
    $notification->setDeal($entity); 
    $notification->setDatepost(new \DateTime()); 
    $notification->setNotificationtype(NotificationAction::TYPE_TOP_DEAL); 
    // $em is set to EntityManager 
    $em->persist($notification); 
    // $uow ist set to UnitOfWork 
    $uow->computeChangeSet($em->getClassmetadata('Danke\ForumBundle\Entity\NotificationAction'), $notification); 
} 

Yo sé que iba a obtener un bucle, cuando estaba en el Flushing onFlush de eventos, pero no hago eso! Solo calculo el nuevo conjunto de cambios como dice en la documentación.

¿Alguien puede decir dónde está el problema?

EDIT: Es tal vez interesante, que estoy seguro de que trabajó hace algunos días, pero no puedo recordar cambiar nada (que sé que no puede ser verdad;)) ...

+0

Me sucede a mí también, pero no entiendo por qué ... Espero que alguien aquí pueda ayudarnos – mokagio

Respuesta

3

tuve similares problemas con el evento onFlush. Por favor cambia

$em->persist($notification); 

a

$uow->persist($notification); 

Por favor, intente esto y quisiera saber si esto está funcionando ahora.

Cuestiones relacionadas