Php 条令2查询生成器计数一对多关系

Php 条令2查询生成器计数一对多关系,php,symfony,doctrine-orm,query-builder,Php,Symfony,Doctrine Orm,Query Builder,我有以下疑问: $em = $this->getEntityManager(); $query = $em->createQueryBuilder()->select('shoppingcart') ->from("AppMainBundle:ShoppingCart", 'shoppingcart') ->innerJoin('shoppingcart.shoppingCartProducts',

我有以下疑问:

  $em = $this->getEntityManager();
        $query = $em->createQueryBuilder()->select('shoppingcart')
            ->from("AppMainBundle:ShoppingCart", 'shoppingcart')
            ->innerJoin('shoppingcart.shoppingCartProducts', 'shoppingcartproduct')
            ->innerJoin('shoppingcartproduct.product', 'product')
            ->innerJoin('shoppingcartproduct.productAttribute', 'productattribute')
            ->innerJoin('product.shop', 'shop')
            ;
如何编写where语句,其中我只想获取包含多个shoppingcart产品的shoppingcart?以下是购物车和购物车产品的关系:

class ShoppingCart
{
    /**
     * @var integer $id
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;



    /**
     * @ORM\OneToMany(targetEntity="ShoppingCartProduct", mappedBy="shoppingCart", cascade={"persist","remove"})
     */
    protected $shoppingCartProducts;
}

尝试添加以下行

->addSelect('COUNT(shoppingcartproduct) as nProducts')
->addGroupBy('shoppingcart.id')
->having('nProducts > 1')

如何从查询结果中访问“N产品”?这里我对查询对象使用getResult()。$result[0]将是Shoppingcart,$result['nProducts']=123;如果查询应该返回一个对象数组,而实际的产品数量无关紧要,那么select子句应该是
COUNT(shoppingcardproduct)AS HIDDEN nProducts