2012-02-28 32 views
2

如何從樹枝中的連接表列表中訪問屬性?display dql加入樹枝的結果

$query = $this->getEntityManager() 
     ->createQuery(' 
      SELECT e, 
      l    
      FROM AcmeDemoBundle:entry e 
      JOIN e.fklist l    
      WHERE e.fkuser=:user' 
     ); 

這是創建的查詢:

SELECT p0_.pkId AS pkId0, p0_.firstname AS firstname1, ...., 
p1_.pkId AS pkId13, p1_.descriptionAlt AS descriptionAlt14, ... 
FROM entry p0_ INNER JOIN list p1_ ON p0_.fkList = p1_.pkId 
WHERE p0_.fkUser = ? LIMIT 5 OFFSET 0 

我需要訪問的屬性在樹枝:

{% for entry in entries %} 
     <tr> 
      <td> 
       {{entry. ...}} 
      </td> 
      <td>{{entry.lastname}}</td> 
      <td>{{entry.firstname}}</td>     
      </td>    
     </tr>  
    {% endfor %} 

我不知道如何訪問從加盟屬性表中沒有設置具有自己別名的每個屬性。

+0

你試過簡單的'{{entry.descriptionAlt}}'? – 2012-02-29 06:29:15

+0

...或'{{entry.fklist.descriptionAlt}}' – 2012-02-29 06:40:10

+0

是的,我嘗試過。第一個給我一個錯誤,該屬性不在對象事件中,第二個是我將避免的部分,因爲這自動生成新的查詢來讀取數據,我想用我的連接閱讀。 – 2012-02-29 08:46:35

回答

0

您需要將查詢結果傳遞給樹枝模板! 在這裏,你永遠不會查詢你的數據庫。

請參閱Doctrine documentation找到最好的方法,但getResult()似乎適合您的需求。然後訪問你的財產,如:

{{ entry.firstname }}