我可以按角色查询数据库吗?
在数据库中,我具有列角色类型json并存储这样的数据 [“ ROLE_ADMIN”]
我如何通过学说进行查询?我把这段代码用完了,不起作用。
$user = $this->getDoctrine()
->getRepository(User::class)
->findBy(['roles' => 'ROLE_ADMIN');
答案 0 :(得分:1)
在您的UserRepository
中创建一个方法,该方法使用like
语句按角色查找用户。例如:
class UserRepository extends EntityRepository
{
public function findUsersByRole($role)
{
$qb = $this->createQueryBuilder('u');
$qb->select('u')
->where('u.roles LIKE :roles')
->setParameter('roles', '%"'.$role.'"%');
return $qb->getQuery()->getResult();
}
}