Symfony 2 - 当对象没有关联的子对象时加入 returns 更少的结果

Symfony 2 - Join returns less results when object has no associated children

我已经用谷歌搜索了一段时间,我想我只是无法以正确的方式陈述我的问题。

我有一个产品,我的产品有 "optional" 个与之关联的 ProductImages。 当我延迟加载产品时,一切都按预期工作,但我想在减少查询总数之前加入我的图像。

代码如下:

    $qb->select('product')
       ->from('FocumaTCBundle:Product', 'product')
       ->join('product.ProductType', 'type')
       ->join('product.ProductImages', 'productImage')
       ->where('type.id = :productTypeId')
       ->setParameter('productTypeId', $PRODUCT_HOTEL_TYPE);

但是 returns 结果比没有连接的少。我不确定如何 创建一个 "optional" 连接 :(

感谢您的帮助!

使用leftJoin:

 $qb->select('product')
   ->from('FocumaTCBundle:Product', 'product')
   ->leftJoin('product.ProductType', 'type')
   ->leftJoin('product.ProductImages', 'productImage')
   ->where('type.id = :productTypeId')
   ->setParameter('productTypeId', $PRODUCT_HOTEL_TYPE);