我想返回拥有ROLE_ADMIN
和ROLE_USER
的用户
我已经在存储库中这样做了:
return $this->createQueryBuilder('u')
->where('u.roles IN (:val)')
->setParameter('val','["ROLE_ADMIN","ROLE_USER"]')
->getQuery()
->getResult();
但是什么也没返回... 如何解决这个问题?
ps:我有一个ROLES用户:ROLE_ADMIN和ROLE_USER
答案 0 :(得分:1)
要使用“教义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();