Can I query db by roles?
In database i have column roles type json and store data like this ["ROLE_ADMIN"]
How can i query via doctrine? I use this code down and don't work.
$user = $this->getDoctrine()
->getRepository(User::class)
->findBy(['roles' => 'ROLE_ADMIN');
In your UserRepository
create a method which uses a like
statement to find a user by role. Like this for example:
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();
}
}