Symfony - 按ID删除

时间:2018-06-04 13:58:08

标签: php function symfony id

我定义了mu删除功能,按ID删除行,但每次尝试新内容时都会出错,所以我怀疑我的逻辑是对的。

这是我的控制器和服务

public function deleteUser($id)
{
    $query = $this->getUserRepository()
        ->createQueryBuilder('du')
        ->delete('du')
        ->where('du.id = :id')
        ->setParameter("id", $id)
        ->getQuery()
        ->execute();

    return $query;
}

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

    $this->get('user')->deleteUser($id);

    return $this->success();
}

2 个答案:

答案 0 :(得分:2)

您应该在控制器中使用 - > remove()。

$em = $this->getDoctrine()->getManager();
$user = $em->getRepository(‘...’)->findBy([‘id’ => $id]);
$em->remove($user);
$em->flush();

答案 1 :(得分:0)

我自己解决了这个问题。 删除函数似乎需要有关删除内容的参数。在我原来的问题中,它会删除整个数据库,如果它实际上有效。

availableOffsets()