我有OnetoMany协会
Product
会有很多vouchers
但是一张优惠券只能与一种产品相关联。
现在,当我有产品表格时,我有选择框,我可以选择多个优惠券。但问题是
如果优惠券先前已与其他产品相关联,则会更新优惠。
所以有任何方式/查询,以便在我的选择框中我可以看到
这是我的代码
->add('vouchers', 'entity', array(
'class' => 'AcmeMyBundle:Voucher',
'query_builder' => function(EntityRepository $er) {
return $er->createQueryBuilder('u')
->where('u.product_id = :id')
->setParameter('id', 'NULL')
->orderBy('u.name', 'DESC');
},
'expanded'=> false,
'multiple' => true
))
答案 0 :(得分:0)
您可以编辑查询。我们不知道您的关联是什么样的,但假设您使用的是vouchers
。
//...
->where('u.product_id = :id')
->leftJoin('u.vouchers','v')
->having('COUNT(v.id) = 0')
->groupBy('u.product_id');