2012-08-28 2 views
2

같은 튜플에서이 두 업데이트를 어떻게 결합하여 하나의 작업으로 만들 수 있습니까?Doctrine 2 하나 이상의 열을 업데이트하나요?

$q = $this->em->createQuery('update \Entity\UserEn u set u.last = :last where u.name = :name'); 
$q->setParameters(array(
    'last' => new \DateTime($newLast), 
    'name' => $theUser, 

)); 
$q->getResult(); 


$q = $this->em->createQuery('update \Entity\UserEn u set u.contribution = :contribution where u.name = :name'); 
$q->setParameters(array(
    'contribution' => $this->rContributionUser($theUser), 
    'name'   => $theUser, 

)); 
$q->getResult(); 

하나의 업데이트가 2 개의 업데이트보다 저렴하다고 생각합니다.

답변

2

사용 쉼표는 두 과제를 분리하기 : 제대로 작동

$q = $this->em->createQuery('update \Entity\UserEn u set u.last = :last, u.contribution = :contribution where u.name = :name'); 
$q->setParameters(array(
    'last'   => new \DateTime($newLast), 
    'contribution' => $this->rContributionUser($theUser), 
    'name'   => $theUser, 
)); 
$q->getResult(); 
+0

. 빠른 도움에 감사드립니다! – user1592714