2014-09-01 37 views
0

我覺得我的問題標題是不夠清楚,所以我把一個例子(Symfony2的& Doctrine2)實體:如何只取2,通過一些其他實體的相互關係在Doctrine2

$query = $this->_em->createQuery(
      'SELECT j, jp, po, p from MjJobBundle:Job j' 
      . ' LEFT JOIN j.jobPackage jp' 
      . ' JOIN jp.packageOrder po' 
      . ' JOIN po.package p'); 

如果我只是想作業和包裝實體我必須檢索所有四個實體是否有任何簡單的解決方案?

回答

0

Do JOINS是解決方案。如果您只想要Job和Package實體,請不要選擇其他實體:

$query = $this->_em->createQuery(
     'SELECT j, p from MjJobBundle:Job j' 
     . ' LEFT JOIN j.jobPackage jp' 
     . ' JOIN jp.packageOrder po' 
     . ' JOIN po.package p'); 
+0

感謝您的回答。這是問題,如果我不選擇其他實體,我不能直接訪問包。我可以像這樣訪問小包中的包名attr:job.jobPackage.packageOrder.package.name – mohsenJsh 2014-09-01 10:13:25

相關問題