這是我的刪除操作的路由處理程序。只要項目沒有任何關聯,它就可以很好地工作。Symfony2控制器不會發生異常
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));
}
我已經解決了試圖用關聯刪除項目的錯誤,但通過這個過程,「flush」拋出了PDOException。我嘗試了各種方法來捕捉它,但它似乎被Symfony2內部捕獲,然後它響應一個HTTP 500錯誤。有沒有一種方法可以讓Symfony2不抓住這個,以便我可以處理它?這是使用AJAX的XML響應,所以我寧願只發送一個錯誤代碼。
謝謝!就是這樣。 – sleeves 2011-04-18 11:41:33
我也是,感謝它! – 2015-10-13 17:30:14