2011-08-05 97 views
4

我有一對多的模式:辦公桌有很多法案。 是否可以使用某些Bill記錄提取所有Desk記錄。學說DQL:左邊加入條件

我試圖做到這一點:

//DeskTable.class.php 

public function getDesks() 
{ 
    $q = $this->createQuery('d') 
     ->leftJoin('d.Bills b') 
     ->where('b.is_open = ?', true); 

    return $q->execute(); 
} 

,但我得到的是有開票據桌的名單,而我需要的所有桌。這可能嗎?

我完全不是一個sql類的孩子,所以請耐心等待。

回答

10

使用原則的WITH關鍵字(docs here):

$q = $this->createQuery('d') 
    ->leftJoin('d.Bills b WITH b.is_open = ?', true) 

return $q->execute(); 
+0

啊,我知道這將是容易的。謝謝! – Dziamid

+0

我的榮幸:-) – richsage