Intereting Posts
Использование Xdebug, когда приложение php находится за лаком Многомерный массив PHP – по значению, затем по ключу? laravel 5.1 говорит для всех других маршрутов, что кроме ('/'), что 404 страница не найдена на онлайн-сервере Amazon с использованием ec2 Как правильно загрузить jQuery в WordPress Как вставить контроллер в Twig с помощью «render» в Silex Неопределенная ошибка индекса с использованием $ _SERVER Плагин Woocommerce дает «Мы не смогли обработать ваш заказ» что может сделать Phing, что Ant не может? Динамическое изменение позиции корзины не работает с заказами в WooCommerce 3.0+ Как вы печатаете необработанные символы UTF-8 из их номеров? Как подсчитать онлайн-пользователей на веб-сайте Сортировка многомерного массива по размеру его подматрицы Как извлечь полный контент из частичного контента rss Как использовать javascript с помощью PHP? Как обрабатывать значения NULL в инструкции mysql SELECT … OUTFILE в сочетании с FIELDS ESCAPED BY? Значения NULL в настоящее время усекаются

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

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