symfonyで追加フラッシュを使用してレコードに外部制約がある場合、どのようにエラーを出すのですか?この問合せでは、外部キーIDがNULLの場合はレコードを削除できますが、レコードに関連付けられている場合は削除できません。削除できない場合はメッセージが削除されます。しかし、エラーメッセージは実行されていません。これは、私が試したものです:Symfonyでの外部制約の削除
public function DeleteStudentRecord(){
$query= $this->getDoctrine()->createQueryBuilder('a')
->delete('AcmeDemoBundle: Student','a')
->innerJoin('AcmeDemoBundle:Programme','c','WITH','a.c=a')
->where('b.studentid IS NULL')
->getQuery();
return $query->getResult();
}
public function delete(Request $request, $studentid)
{
$form = $this->createDeleteForm($studentid);
$form->handleRequest($request);
if ($form->isValid()) {
$em = $this->getDoctrine()->getManager();
$entity = $em->getRepository('AcmeDemoBundle:Student')->DeleteStudentRecord();
if (!$entity) {
$this->addFlash('error','ERROR! You cannot delete Student Record');
return $this->redirect($this->generateUrl('student'));
}
$em->remove($entity);
$em->flush();
}
return $this->redirect($this->generateUrl('payrollperiod'));
}
は
public function delete(Request $request, $studentid)
{
$form = $this->createDeleteForm($studentid);
$form->handleRequest($request);
if ($form->isValid()) {
$em = $this->getDoctrine()->getManager();
$entity = $em->getRepository('AcmeDemoBundle:Student')->DeleteStudentRecord();
if (!$entity) {
throw $this->createNotFoundException('Unable to delete student record.');
}
$this->addFlash('success','Successfully delete student record');
$em->remove($entity);
$em->flush();
}
return $this->redirect($this->generateUrl('payrollperiod'));
}
を変更しかし、これはどちらか、正しい結果が得られないか、それは正しくないのです。
自分で試したことを投稿できますか? –
Andrew私は質問で試したことを追加しました。これは達成可能ですか? –
誰かが助けてください、私はこの部分と他に何かを知りません。アンドリューはあなたを助けることができますか? –