我不敢相信我似乎无法在任何地方找到它(不仅仅是强制整个SQL进入)。 Docs谈论添加,搜索,更新和删除实体,但是我只是看不到如何执行纯SQL中的操作:

DELETE FROM table WHERE field = "test"

我猜这只是添加和更新,所以我不能使用它:
$product = new Product();

// etc.

$em = $this->getDoctrine()->getEntityManager();
$em->persist($product);
$em->flush();

而且我也不认为“删除”选项可以做到这一点:
$em->remove($product);
$em->flush();

那么,有人能指出我正确的方向吗?

最佳答案

搜索实体并将其删除。

$em = $this->getDoctrine()->getEntityManager();
$repository = $em->getRepository('MyBundle:Product');

/** @var $product Product */
$product = $repository->findOneBy(array('field' => 'test'));
$em->remove($product);
$em->flush();

关于symfony - Doctrine/交响曲2-从表WHERE字段中删除= “test”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17911006/

10-16 09:33