Doctrine DQL:左连接的条件

时间:2011-08-05 19:16:28

标签: symfony1 doctrine doctrine-1.2

我有一对多架构:桌面有很多账单。 是否可以使用一些Bill记录获取所有Desk记录。

我正在尝试这样做:

//DeskTable.class.php

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

    return $q->execute();
}

但是我得到了一张有开放票据的书桌列表,而我需要所有书桌。这可能吗?

我完全不是一个sql的孩子,所以请耐心等待我。

1 个答案:

答案 0 :(得分:10)

使用Doctrine的WITH关键字(docs here):

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

return $q->execute();