Doctrine DQL:左连接的条件

Dzi*_*mid 4 doctrine symfony1 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();
}
Run Code Online (Sandbox Code Playgroud)

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

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

ric*_*age 10

使用Doctrine的WITH关键字(此处为docs):

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

return $q->execute();
Run Code Online (Sandbox Code Playgroud)