如何让所有非Symfony特定群组成员的用户?
用户和群组拥有多对多关系。
我想通过group_id 8获取不属于该组成员的所有用户,在Symfony 2 + Doctrine中对此进行适当的实体查询是什么?
答案 0 :(得分:2)
使用MEMBER OF
可能是您正在寻找的人。应该是以下几点:
$entityManager->createQueryBuilder()
->select('u')
->from('AppBundle:User', 'u')
->where(':targetGroup NOT MEMBER OF u.groups')
->setParameter('targetGroup', $group)
->getQuery()
->getResult();
这当然需要事先做额外的查询。
// Find and get instance of the group any way you like.
$group = $entityManager->find('AppBundle:Group', 8);
有关查询选择器的更多内容 - Here
查询可能需要一些调整,但它应该是一个很好的开始。如果您有任何问题,请不要犹豫。