如何让所有非Symfony特定组成员的用户?

时间:2015-05-18 17:20:45

标签: php symfony doctrine-orm

如何让所有非Symfony特定群组成员的用户?

用户和群组拥有多对多关系。

我想通过group_id 8获取不属于该组成员的所有用户,在Symfony 2 + Doctrine中对此进行适当的实体查询是什么?

1 个答案:

答案 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

查询可能需要一些调整,但它应该是一个很好的开始。如果您有任何问题,请不要犹豫。