我正在尝试使用Symfony 2的删除功能,这给了我一个错误
的routing.yml
home_homepage_deleteuser:
path: /homepage/delete_users/{id}
defaults: {_controller: HomeHomepageBundle:Default:deleteuser}
methods: [GET, POST]
Defaultcontroller.php
public function deleteuseraction(Users $users)
{
$em = $this->getDoctrine()->getManager();
$users = $em -> getRepository('LoginLoginBundle:Users')->find($idusers);
$em-> remove($users);
$em -> flush();
return $this->redirectToroute('home_homepage_userlist');
}
Userlist.html.twig
<a href="{{ path('home_homepage_deleteuser') }}"
class="btn btn-danger pull-right">Delete</a>
答案 0 :(得分:3)
我在这里至少可以看到5个问题。
DefaultController.php
而不是Defaultcontroller.php
deleteuserAction
而不是deleteuseraction
(Users $users)
参数不正确,除非您使用参数转换(您不提供有关您是否这样做的信息)。如果是这样,那么你将在稍后覆盖这个变量,这是没有意义的。$idusers
未定义{{ path('home_homepage_deleteuser') }}
所以这里有很多工作要做。你甚至不告诉我们错误是什么,所以可能还有其他一些问题。
答案 1 :(得分:0)
我发现它,代码应该是这样的..不,我是白痴。
DefaultController.php
public function deleteuseraction($id)
{
$em = $this->getDoctrine()->getManager();
$users = $em -> getRepository('LoginLoginBundle:Users')->find($id);
$em -> remove($users);
$em -> flush();
return $this->redirectToroute('home_homepage_userlist');
}
Userlist.html.twig
<a href="{{ path('home_homepage_deleteuser', { 'id': deposit.idusers }) }}" class="btn btn-danger pull-right">Delete</a>
的routing.yml
home_homepage_deleteuser:
path: /homepage/delete_users/{id}
defaults: {_controller: HomeHomepageBundle:Default:deleteuser}
methods: [GET, POST]