Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- namespace AppBundleRepository;
- use DoctrineORMEntityRepository;
- class UserRepository extends EntityRepository
- {
- public function findByRole($role)
- {
- $qb = $this->_em->createQueryBuilder();
- $qb->select('u')
- ->from($this->_entityName, 'u')
- ->where('u.roles LIKE :roles')
- ->setParameter('roles', '%"'.$role.'"%');
- return $qb->getQuery()->getResult();
- }
- }
- WHERE
- p0_.roles::text LIKE '%ROLE_EMPLOYER%'
- // Example - $qb->expr()->like('u.firstname', $qb->expr()->literal('Gui%'))
- public function like($x, $y); // Returns ExprComparison instance
- public function findByRole($role) {
- $qb = $this->getEntityManager()->createQueryBuilder();
- $qb->select('u')
- ->from($this->getEntityName(), 'u')
- ->where("u.roles LIKE '%$role%'")
- ;
- return $qb->getQuery()->getResult();
- }
- $qb = $this->_em->createQueryBuilder();
- $qb->select('u')
- ->from($this->_entityName, 'u')
- ->where('u.roles LIKE :roles')
- ->setParameter('roles', ''%'.$role.'%'');
- return $qb->getQuery()->getResult();
- $ composer require "boldtrn/jsonb-bundle
- doctrine:
- dbal:
- types:
- jsonb: BoldtrnJsonbBundleTypesJsonbArrayType
- mapping_types:
- jsonb: jsonb
- orm:
- dql:
- string_functions:
- JSONB_AG: BoldtrnJsonbBundleQueryJsonbAtGreater
- JSONB_HGG: BoldtrnJsonbBundleQueryJsonbHashGreaterGreater
- JSONB_EX: BoldtrnJsonbBundleQueryJsonbExistence
- $query = $this->getEntityManager()->createQuery("SELECT u FROM AppBundle:User u WHERE JSONB_HGG(u.roles , '{}') LIKE '%EMPLOYER%' ");
- $users = $query->getResult();
- return $users;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement