2017-05-29 28 views
0

我有兩個表的客戶和聯繫人的聯繫人CLIENT_ID爲外鍵如何在symfony中3使用一個查詢獲取兩個表中的數據

$client = $this->getDoctrine()->getRepository('MyBundle:Client')->findAll(); 

這給從表客戶的數據,但我需要從聯繫人數據以及它具有相關的客戶端ID

注:我使用的嵌入形式,CollectionType,ArrayCollection的

我怎麼用各自的聯繫人的所有客戶一個查詢symfony的3

回答

0

你可以在你的倉庫裏創建一個這樣的連接查詢:

public function getAllClientWithContacts() 
{ 
    $qb = $this->createQueryBuilder(); 
    $qb 
     ->select('c') 
     ->from('MyBundle\Entity\Client', 'c') 
     ->leftJoin('MyBundle\Entity\Contact'); 

    return $qb->getQuery()->getResult(); 
} 
+0

謝謝@alessandro。然而,這並沒有爲我工作 我用下面這個工作,但我仍然需要搞清楚,如果這是在symfony的正確方式3 公共職能getAllClientWithContacts() \t { \t $查詢= $這個 - > getEntityManager() \t - >的createQuery( \t '選擇C,CS FROM JimmyBundle:客戶端C JOIN c.contacts CS ORDER BY c.id ASC' \t); \t嘗試{ \t return $ query-> getResult(); (\ Doctrine \ ORM \ NoResultException $ e){ \t return null; \t} \t} – user75472

+0

是的是另一種方式,這可以工作,我希望能幫助你解決你的問題! –

相關問題