Как использовать или Где в Доктрине |Вернуть пользователя, у которого есть ROLE_ADMIN и ROLE_USER - PullRequest
1 голос
/ 21 марта 2019

Я хочу вернуть пользователя, у которого ROLE_ADMIN и ROLE_USER

Я сделал это в хранилище:

return $this->createQueryBuilder('u')
        ->where('u.roles IN (:val)')
        ->setParameter('val','["ROLE_ADMIN","ROLE_USER"]')
        ->getQuery()
        ->getResult();

Но ничего не возвращается ... Как решить эту проблему?

пс: у меня есть пользователь с ROLES: ROLE_ADMIN и ROLE_USER

1 Ответ

1 голос
/ 21 марта 2019

Для использования или Где-нибудь в Учении 2:

return $this->createQueryBuilder('u')
        ->where('u.roles LIKE :val')
        ->setParameter('val','%ROLE_ADMIN%')
        ->orWhere('u.roles LIKE :val2')
        ->setParameter('val2', '%ROLE_USER%')
        ->getQuery()
        ->getResult();

Также Вы можете использовать вот так:

return $this->createQueryBuilder('u')
        ->where('u.roles LIKE :val')
        ->orWhere('u.roles LIKE :val2')
        ->setParameters(array('val2' => '%ROLE_USER%', 'val' => '%ROLE_ADMIN%'))
        ->getQuery()
        ->getResult();
...