我在删除方法中有错误,这里是错误
EntityManager #remove()要求参数1为实体对象,给定NULL。
这是代码:
public function supprimerAction($ id){
$em = $this->get('doctrine')->getEntityManager();
$Livre=$em->getRepository('EspritBibBundle:Livre')->find($id);
$em->remove($Livre);
$em->flush();
return $this->render('EspritBibBundle:Livre:succes.html.twig',array('msg'=>'Suppression effectué avec succés'));
}
答案 0 :(得分:4)
尝试findOneById()
,正如理查德所说,如果$ livre = null
public function supprimerAction($id)
{
$em = $this->getDoctrine()->getEntityManager();
$livre = $em->getRepository('EspritBibBundle:Livre')->findOneById($id);
if (!$livre) {
throw $this->createNotFoundException('No livre found for id '.$id);
}
$em->remove($livre);
$em->flush();
return $this->render('EspritBibBundle:Livre:succes.html.twig',array('msg'=>'Suppression effectué avec succés'));
}