2014-09-04 20 views
5

我已用的Symfony2 /學說-環境得到了下面的問題這個關係沒有通過ORM註釋或其他任何東西註冊,因爲被引用的表是可變的。所以我投身於以下方式:SQL /學說:在的getResult返回leftJoin對象和引用的對象作爲在陣列2個條目

$query = $this->createQueryBuilder('a') 
     ->select('a') 
     ->addSelect('b') 
     ->leftJoin('My\Bundle\EntityBundle\Entity\OtherClass','b',\Doctrine\ORM\Query\Expr\Join::WITH,'a.referenceId=b.id') 
     ->getQuery()->getResult($hydrationMode); 

結果數組現在包含的A和B都對象(有點像

array('a1', 'b1', 'a2', 'b2', ....) 

)。我可以再次通過它,但我覺得這不是要走的路。我嘗試了不同的水合模式,但這並沒有改變任何東西。

有什麼方法可以返回它,所以關聯被保留了嗎?

我的意思是某事像下面:

array(array('a1', 'b1'), array('a2', 'b2'), ...) 

回答

9

您可以通過使用標準的ScalarHydrator實現這一點:

+0

就像一個魅力!出於某種原因,我沒有嘗試HYDRATE_SCALAR。 – 2014-09-04 12:41:41