我的第一个 symfony2 项目是存储在数据库中的来宾列表(受邀参加活动)。我有
- 用所有变量(id、姓名、地址、电话号码等)创建了实体类Guest
- 在 mysql 数据库中创建了模式
- 为树枝模板“添加客人”创建了一条路线
- 创建了一个表单类型
最后是控制器中的“createGuest”方法,一切正常。
我无法从数据库中删除来宾。我已经阅读了网络上的所有教程,包括官方的 Symfony2 书;它所说的只是:
删除对象
删除对象非常相似,但需要调用实体管理器的 remove() 方法:
$em->remove($product);
$em->flush();
它并没有说明如何将控制器 deleteAction($id) 与 twig 模板连接起来(甚至“更新对象”部分也缺少文档)。我想要做的是使用 viewGuests 操作和 viewGuests 树枝模板列出所有来宾,每行旁边都有一个删除图标,您应该单击它来删除一个条目。很简单,但我找不到任何文档,也不知道从哪里开始。
public function deleteGuestAction($id)
{
$em = $this->getDoctrine()->getEntityManager();
$guest = $em->getRepository('GuestBundle:Guest')->find($id);
if (!$guest) {
throw $this->createNotFoundException('No guest found for id '.$id);
}
$em->remove($guest);
$em->flush();
return $this->redirect($this->generateUrl('GuestBundle:Page:viewGuests.html.twig'));
}