gpt4 book ai didi

php - Symfony2 从表中删除记录

转载 作者:可可西里 更新时间:2023-11-01 00:43:00 26 4
gpt4 key购买 nike

我的 Twig 上有一个按钮,我希望能够从表中删除一条记录。当我点击删除按钮时,页面会重新加载但没有记录被删除。

这是我的 Twig

<h1>Admin Area - The football blog</h1>
<table class="zebra">
<thead>
<tr>
<th>Title</th>
<th>Date</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<tr>
{% for entity in adminentities %}
<td>{{entity.postTitle}}</td>
<td>{{ entity.postDescription }} </td>
<td> <a href="{{ path('deletepost', { 'id': entity.id }) }}">Delete</a> || Edit</td>
</tr>

{% endfor %}

</tbody>
</table>

这是我的 Controller 。

  /**
* @Route("/posted/admin", name="deletepost")
* @Template()
*/

public function admindeleteAction($id)
{

$em = $this->getDoctrine()->getEntityManager();
$adminentities = $em->getRepository('BlogBundle:posted')
->findOneBy(array('post'=>$post->getId(), 'id'=>$id));

$em->remove($adminentities);
$em->persist($adminentities);
$em->flush();
return $this->render('BlogBundle:Default:admin.html.twig');
}

最佳答案

$em->persist($adminentities); // This line will persist you entity again. 

所以你可以删除这一行,我认为没问题。此外,如果你保留这一行,每次你按下删除按钮时,你的实体的 id 都会改变

最后,您的代码将如下所示:

public function admindeleteAction($id)
{
$em = $this->getDoctrine()->getEntityManager();
$adminentities = $em->getRepository('BlogBundle:posted')->find($id);

$em->remove($adminentities);
$em->flush();

return $this->render('BlogBundle:Default:admin.html.twig');
}

或者你可以直接将你的实体传递给方法(检查你的情况的语法):

public function admindeleteAction(Posted $posted)
{
$em = $this->getDoctrine()->getEntityManager();

$em->remove($posted);
$em->flush();

return $this->render('BlogBundle:Default:admin.html.twig');
}

和TWIG中的param是一样的。

关于php - Symfony2 从表中删除记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29036544/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com