2013-03-06 72 views
0

我有3個實體大廈,面積和路徑與此many2many協會:選擇多到許多教義DQL 2.0

大廈N:M面積
大廈N:M路線

的面積,路線有一個屬性可見。 我要提取的建築和它相關聯的可見區域和路線(如果存在)

SELECT 
    b, bir, bia 
FROM 
    ArchMapsBundle:Building b 
    LEFT JOIN 
     b.buildingsInRoute bir 
    LEFT JOIN 
     bir.itinerario r WITH r.visible = 1 
    LEFT JOIN 
     b.buildingsInArea bia 
    LEFT JOIN 
     bia.area a WITH a.visible = 1 
WHERE 
    b.id = :building_id 

但我始終也得到地區和路線不可見。

回答

0

我的猜測是這樣的,因爲你的一些JOIN沒有條件拉動實體。所以,試試這個:

WHERE b.id = :building_id 
    AND r.visible = 1 
    AND a.visible = 1 
+0

謝謝,但它不起作用。如果沒有區域或路線,則不返回建築物。 – 2013-03-08 11:43:53