Ver Mensaje Individual
  #12 (permalink)  
Antiguo 14/11/2014, 12:31
Avatar de bNd170
bNd170
 
Fecha de Ingreso: agosto-2009
Ubicación: $this->setLocation('Valencia', 'Spain');
Mensajes: 365
Antigüedad: 15 años, 2 meses
Puntos: 13
Respuesta: Eventos con SonataAdmin

Uso Symfony2.5 pero ya he visto porque me dice que no existe, el servicio se escribe "request_stack" no "requestStack" :)

Al final he inyectado el contenedor y desde ahi he invocado todo, pero ahora nose como guardar los cambios.

Tengo seto:

Código PHP:
Ver original
  1. public function onFlush(OnFlushEventArgs $args)
  2.     {
  3.         $em = $args->getEntityManager();
  4.         $uow = $em->getUnitOfWork();
  5.  
  6.         // we would like to listen on insertions and updates events
  7.         $entities = array_merge(
  8.             $uow->getScheduledEntityInsertions()
  9.         );
  10.        
  11.         foreach ($entities as $entity) {        
  12.             if ($entity instanceof Content) {
  13.                 $bitly = $this->container->get('RukbatBitly');
  14.                 $bitly = $bitly->bitly_v3_shorten('http://'.$this->container->get('request')->getHost().$this->container->get('router')->generate('content_show', array('slug'=>$entity->getSlug())));
  15.                 $entity->setBitlyUrl($bitly['url']);
  16.                 $em->persist($entity);
  17.                 $uow->computeChangeSets();
  18.             }
  19.         }
  20.     }

Has el persist lo entiendo todo, pero que porras hace $uow->computeChangeSets() y porque en lugar de modificar la entidad que estoy manipulando esta tratando de insertar una nueva?