删除symfony 2

时间:2015-12-21 19:45:43

标签: symfony

我在删除方法中有错误,这里是错误

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'));

}

1 个答案:

答案 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'));
}