我正在尝试为Symfony 2使用删除函数,这给了我一个错误
路由.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');
}
用户列表.html wig
<a href="{{ path('home_homepage_deleteuser') }}"
class="btn btn-danger pull-right">Delete</a>
显示
我可以在这里看到至少5个问题。
- 应该是
DefaultController.php
而不是Defaultcontroller.php
- 应该是
deleteuserAction
而不是deleteuseraction
- 除非使用param转换,否则
(Users $users)
参数是不正确的(如果使用param,则不会提供有关信息)。如果是这样,那么您稍后将覆盖这个变量,这是没有意义的 $idusers
未定义- 您没有将用户ID传递给
{{ path('home_homepage_deleteuser') }}
所以这里有很多工作要做。此外,您甚至没有告诉我们错误是什么,因此可能还有其他几个问题。
我找到了它,代码应该是这样的。。不,我是个白痴。
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');
}
用户列表.html wig
<a href="{{ path('home_homepage_deleteuser', { 'id': deposit.idusers }) }}" class="btn btn-danger pull-right">Delete</a>
路由.yml
home_homepage_deleteuser:
path: /homepage/delete_users/{id}
defaults: {_controller: HomeHomepageBundle:Default:deleteuser}
methods: [GET, POST]