所以有一个表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()
。最好是用c
,c2
别名询问优惠券 最佳答案
只需在where子句中添加IN语句,您将获得对象数组:
$qb->select('c')
->from('User', 'u')
->leftJoin('u.coupons', 'c')
->where('c.type IN (1,2)');
关于mysql - 教义2,联接表两次,如何获得其实体?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36202900/