Я хочу вернуть пользователя, у которого есть ROLE_ADMIN и ROLE_USER
Я сделал это в репозитории:
return $this->createQueryBuilder('u')
->where('u.roles IN (:val)')
->setParameter('val','["ROLE_ADMIN","ROLE_USER"]')
->getQuery()
->getResult();
Но ничего не возвращается... Как решить эту проблему?
ps: I have a user with ROLES : ROLE_ADMIN and ROLE_USER
это пример пользователя: [{"roles":["ROLE_ADMIN","ROLE_USER"]}]






Чтобы использовать orWhere в Doctrine 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();
Спасибо. Это работает, но как, если мне нужно больше ролей, а не только ROLE_ADMIN? Например u.roles Like %ROLE_ADMIN% или %ROLE_USER% => Как это сделать?
Та же проблема..