Este es el controlador de ruta para mi acción de eliminación. Funciona bien siempre que el elemento no tenga ninguna asociación.El controlador Symfony2 no detectará la excepción
public function projectDeleteAction()
{
try {
$request = $this->get('request');
$my_id = $request->query->get('id');
$em = $this->get('doctrine.orm.entity_manager');
$item = $em->find('MyBundle:Main', $my_id);
$em->remove($item);
$em->flush();
$info = $item->getName();
$result = 0;
}
catch (Exception $e) {
$info = toString($e);
$result = -1;
}
return $this->render('MyBundle:Main:response.xml.twig',
array('info' => $info, 'result' => $result));
}
que ya han solucionado el error de tratar de eliminar un elemento con las asociaciones, sino a través de este proceso, el "flush" fue lanzando PDOException. Intenté varias formas de atraparlo, pero parece quedar atrapado dentro de Symfony2 y luego responde con un error HTTP 500. ¿Hay alguna manera de que Symfony2 no pueda detectar esto para poder manejarlo? Esta es una respuesta XML utilizando AJAX, por lo que preferiría simplemente enviar un código de error por encima.
Gracias! Eso fue todo. – sleeves
¡Yo también, lo aprecio! –