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);
我已经用谷歌搜索了一段时间,我想我只是无法以正确的方式陈述我的问题。
我有一个产品,我的产品有 "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);