Sonata Admin Bundle список пользователей группы - PullRequest
0 голосов
/ 01 июля 2019

У меня есть Sonata Admin Bundle и Sonata User Bundle (FOSUserBundle с пользователями и группами).

В UserAdmin.php мне нужно изменить запрос списка, чтобы показывать только пользователя определенной группы.

Я пытался с

public function createQuery($context = 'list')
    {
        $query = parent::createQuery($context);
        $query->andWhere(
            $query->expr()->eq($query->getRootAliases()[0] . '.groups', ':my_param')
        );
        $query->setParameter('my_param', '9'); //9 is the id of a group
        return $query;
    }

Но у меня есть

[Semantical Error] line 0, col 72 near 'groups = :my': Error: Invalid PathExpression. StateFieldPathExpression or SingleValuedAssociationField expected.

1 Ответ

0 голосов
/ 02 июля 2019

Я нашел решение, правильный запрос:

public function createQuery($context = 'list')
    {
        $query = parent::createQuery($context);
        $query->andWhere(
            $query->expr()->isMemberOf(':groupId', $query->getRootAliases()[0] . '.groups')
        );
        $query->setParameter('groupId', '9'); //9 is the id of a group


        return $query;
    }
...