从Symfony 2中的数据库中删除

时间:2016-06-02 05:20:25

标签: mysql symfony doctrine-orm

我正在尝试使用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>                             

Display

2 个答案:

答案 0 :(得分:3)

我在这里至少可以看到5个问题。

  • 应该是DefaultController.php而不是Defaultcontroller.php
  • 应该是deleteuserAction而不是deleteuseraction
  • (Users $users)参数不正确,除非您使用参数转换(您不提供有关您是否这样做的信息)。如果是这样,那么你将在稍后覆盖这个变量,这是没有意义的。
  • $idusers未定义
  • 您未将用户ID传递给{{ 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]