2014-08-29 46 views
0

在我的實體'項目'中,有一個ArrayCollection屬性,被稱爲「產品」(實體'產品'),可以爲空DQL是否允許可空連接?

我需要在一次DQL調用中獲得所有產品信息'物品'實體陣列

 $query = $this->getEntityManager()->createQueryBuilder(); 
     $query->select(['v', 'p'])->from($this->getEntityName(), 'v') 
      ->join('v.products', 'p') 
      ->orderBy('v.datePublished', 'DESC') 
      ->setMaxResults($limit); 

這裏的問題是,返回的唯一記錄是那些至少包含一個產品的記錄。我需要返回具有空產品的項目。

有什麼想法?

回答

0

好了,所以..這是所有需要發生:

$query = $this->getEntityManager()->createQueryBuilder(); 
    $query->select(['v', 'p'])->from($this->getEntityName(), 'v') 
     ->join('v.products', 'p') 
     ->orderBy('v.datePublished', 'DESC') 
     ->setMaxResults($limit); 

成爲

$query = $this->getEntityManager()->createQueryBuilder(); 
    $query->select(['v', 'p'])->from($this->getEntityName(), 'v') 
     ->leftJoin('v.products', 'p') 
     ->orderBy('v.datePublished', 'DESC') 
     ->setMaxResults($limit); 

我很高興能回到我現在的生活。