symfony-无法删除记录

pgvzfuti  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(248)

我正在测试《 Postman 》中的删除操作。我创建了一个delete操作,它不断返回“success”,当我刷新数据库时,带有forwarded参数(id=1)的行仍然存在。
我的服务。

/**
 * Delete user
 * @param $id
 * @return mixed
 */
public function deleteUser($id)
{
    $query = $this->getUserRepository()
        ->createQueryBuilder('du')
        ->delete('ProjectBundle:User','du')
        ->where('du.id = :id')
        ->setParameter("id", $id)
        ->getQuery()
        ->execute();

    return $query;

}

控制器。

/**
 * @Route("/users/delete/{id}", name="user_delete")
 * @param $id
 * @return \Symfony\Component\HttpFoundation\JsonResponse
 * @throws \Doctrine\Common\Annotations\AnnotationException
 */
public function getUserDeleteAction($id)
{
    $this->get('user')->deleteUser($id);

    return $this->success();
}

我认为这是正确的方法,不知道问题出在哪里。

fcipmucu

fcipmucu1#

你必须使用 ->remove() 方法,如下所示:


# controller

public function getUserDeleteAction($id)
{
    $em = $this->getDoctrine()->getManager();
    $user = $em->getRepository('AppBundle:User')->find($id);
    $em->remove($user);

    return $this->success();
}

信息在这里。

相关问题