我在执行时试图捕获异常:
try {
$em->remove($education);
$em->flush();
} catch(PDOException $e) {
var_dump($e->getMessage());
die;
}
我也尝试了Exception
和DoctrineORMORMException
,但它们都没有起作用。
而不是倾倒异常消息,我会收到相同的错误,我试图避免捕获异常:
[3/3] foreferkekeyconstraintviolationException:发生了例外 执行"从trainee_education delete"中执行id =?"和 参数[2]:
sqlstate [23000]:违反完整性约束:1451无法删除或 更新父行:外键约束失败 (
trainingexperience
。internship
,约束FK_10D1B00C2CA1BD71
外键(education_id
)参考trainee_education
(id
))
我知道为什么我的约束失败,没有什么新鲜。但是我想得到一个例外,以便我可以通知用户他无法删除一个对象是他在建立关系之前用过的。
我的情况相同,但是我与 doctrine dbal dbalexception
一起工作try{
$em->persist($question);
$em->flush();
} catch (DoctrineDBALDBALException $e) {
$exception_message = $e->getPrevious()->getCode();
return $this->render('AppBundle:Errors:error.html.twig', array('error' => $exception_message));
}
我不知道最好的解决方案,但起作用。