我想删除一行表格。
我从我的实体“Entite”获取表格元素。
在我的控制器里我有:
public function deleteBuAction($id){
$em = $this->getDoctrine()->getEntityManager();
$entite=$this->get('entite.entiteservice')->findId($id);
$em->remove($entite);
$em->persistAndFlush($entite);
return $this->render("acmeBundle:admin:delete.html.twig");
}
表格中的:
{% for entite in liste %}
<tr class="odd gradeX">
<td> {{ entite.nom_entite }} </td>
<td> {{ entite.nom_agence }} </td>
<td> {{ entite.entite_abrev }} </td>
<td> {{ entite.entite_niveau }} </td>
<td>
<a href=#><img src="{{ asset('bundles/acme/img/modifier.png')}}" width="20" height="20" /></a>
<a href={{ path('delete_bu', {'id': entite.id}) }}><img src="{{ asset('bundles/acme/img/delete.png')}}" width="20" height="20" /></a>
</td>
</tr>
{% endfor %}
我得到了这个例外:
EntityManager#remove() expects parameter 1 to be an entity object, NULL given.
我希望获得相同的twig of entite not delete.html.twig我怎么能在同一根树枝上休息。 有什么帮助吗?
答案 0 :(得分:1)
你应该尝试这样
public function deleteBuAction($id){
$em = $this->getDoctrine()->getEntityManager();
$entite = $em->getRepository('YourBundle:YourEntity')->find($id);
$em->remove($entite);
$em->persist($entite);
$em->flush();
return $this->render("acmeBundle:admin:delete.html.twig");
}
因为您的代码行
$entite=$this->get('entite.entiteservice')->findId($id);
不提取对象,但是为了获取对象,你必须使用
$entite = $em->getRepository('YourBundle:YourEntity')->find($id);
获得确认警报你应该多做一点;在你的删除链接上假设:
<a href={{ path('delete_bu', {'id': entite.id}) }} onclick="myFunction()" ><img src="{{ asset('bundles/acme/img/delete.png')}}" width="20" height="20" /></a>
并在您的Javascripts中添加此
function myFunction() {
alert("Do u want to delete it ?");
}
答案 1 :(得分:1)
@ ajeet-varma example
不要删除并坚持该实体。只删除:
$em = $this->getDoctrine()->getEntityManager();
$entity = $em->getRepository('YourBundle:YourEntity')->find($id);
$em->remove($entity);
$em->flush();