Doctrine 查询生成器:SQL 数组中的值

Doctrine Query Builder: Value in SQL array

我在一个实体(用户)中有一组实体(组),在我的查询生成器中我想做这样的事情:

$groups = $current_user->getGroups();
$usersQuery = $em->getRepository('AppBundle:Users')->createQueryBuilder('u');

foreach ($groups as $group) {
    $usersQuery
        ->orWhere(':group_value in (u.groups)')
        ->setParameter('group_value', $group);
}

但是学说不喜欢。 还有另一种方法来检查值是否在 SQL 数组中吗?

谢谢。

在这些情况下使用 MEMBER OF DQL 语句:

foreach ($groups as $group) {
    $usersQuery
        ->orWhere(':group_value MEMBER OF u.groups')
        ->setParameter('group_value', $group);
}

定义:http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/dql-doctrine-query-language.html#collection-expressions