我试图在一个查询中更新某些表中的行。我已经完成了:
$this->getDoctrine()->getManager()
->createQuery('
UPDATE eo, tw FROM
ProEntityOneBundle:EntityOne eo,
ProEntityTwoBundle:EntityTwo tw
SET eo.propertyOne = :newProperty,
tw.propertyTwo = :newProperty
WHERE eo.propertyOne = :oldProperty
AND tw.propertyTwo = :oldProperty')
->setParameters(array('newProperty' => $newProperty, 'oldProperty' => $oldProperty))
->execute();
但是我收到了这个错误:
[语义错误]第0行,第24行附近' eo,tw':错误:类' eo'没有定义。
我做错了什么?是否可以使用DQL更新一个查询中的某些表?
答案 0 :(得分:2)
这是不可能的。每个Doctrine查询都映射到针对数据库执行的单个SQL语句,并且您无法在语句中更新多个表。