Intereting Posts
Отключить определенные даты в Datepicker Лучший способ реализовать запрет после слишком много попыток входа в систему PHPExcel throws Fatal error: разрешенный размер памяти 134217728 байт исчерпан (пытался выделить 71 байт) html-объекты не конвертируют специальные символы Отслеживание времени выполнения скрипта в PHP Использовать PHP Framework или нет? Арабская форма PDF для PHP для MYSQL, декодирование Unicode? как использовать пользовательские шрифты и значки в codeigniter Управлять приложениями вкладки «Facebook» через Open Graph API? API Instagram не может найти информацию о частных профилях jQuery AJAX добавление таблицы tr в конце таблицы отладка веб-приложения Yii с использованием Zend Debugger в Eclipse размещение в группе от имени пользователя с использованием API-интерфейса facebook Регулярное выражение для извлечения текста ссылки из тега привязки Рекурсивно подсчитывать файлы с помощью PHP

Symfony2 Удалить запись из таблицы

У меня есть кнопка на моей ветке, которую я хочу, чтобы удалить запись из таблицы. Когда я нажимаю кнопку удаления, страница перезагружается, но запись не удаляется.

вот моя ветка

<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> 

Вот мой контроллер.

  /** * @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'); } 

Solutions Collecting From Web of "Symfony2 Удалить запись из таблицы"

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

Поэтому вы можете просто удалить эту строку, и я думаю, что все в порядке. Кроме того, если вы сохраняете эту строку, идентификатор вашей сущности изменяется каждый раз, когда вы нажимаете кнопку удаления

Наконец, ваш код будет выглядеть так:

 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 тот же.