主义2,连接表两次,如何获取其实体?

时间:2016-03-24 14:41:30

标签: mysql symfony join doctrine-orm

因此,有一个表Users和一个左连接表Coupons。我们想加入优惠券,然后我们可以通过$entity->getCoupons()获得,这很简单。但是有两种优惠券,我必须两次加入这张桌子:

  $qb->addSelect('c')->leftJoin('x.coupons', 'c', 'WITH', 'c.type = 1');
  $qb->addSelect('c2')->leftJoin('x.coupons', 'c2', 'WITH', 'c.type = 2');
好的,现在怎么样?只有一个getCoupons()。最好的方法是通过cc2别名

来询问优惠券

1 个答案:

答案 0 :(得分:1)

只需将IN语句添加到where子句,您将获得对象数组:

$qb->select('c')
   ->from('User', 'u')
   ->leftJoin('u.coupons', 'c')
   ->where('c.type IN (1,2)');