2011-08-05 54 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