src/Repository/UserRepository.php line 22

Open in your IDE?
  1. <?php
  2. namespace App\Repository;
  3. use App\Entity\User;
  4. use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
  5. use Doctrine\Persistence\ManagerRegistry;
  6. use Symfony\Component\Security\Core\Exception\UnsupportedUserException;
  7. use Symfony\Component\Security\Core\User\PasswordUpgraderInterface;
  8. use Symfony\Component\Security\Core\User\UserInterface;
  9. /**
  10.  * @method User|null find($id, $lockMode = null, $lockVersion = null)
  11.  * @method User|null findOneBy(array $criteria, array $orderBy = null)
  12.  * @method User[]    findAll()
  13.  * @method User[]    findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
  14.  */
  15. class UserRepository extends ServiceEntityRepository implements PasswordUpgraderInterface
  16. {
  17.     public function __construct(ManagerRegistry $registry)
  18.     {
  19.         parent::__construct($registryUser::class);
  20.     }
  21.     /**
  22.      * Used to upgrade (rehash) the user's password automatically over time.
  23.      */
  24.     public function upgradePassword(UserInterface $userstring $newEncodedPassword): void
  25.     {
  26.         if (!$user instanceof User) {
  27.             throw new UnsupportedUserException(sprintf('Instances of "%s" are not supported.'\get_class($user)));
  28.         }
  29.         $user->setPassword($newEncodedPassword);
  30.         $this->_em->persist($user);
  31.         $this->_em->flush();
  32.     }
  33.     public function findByRoles($role 'ROLE_USER')
  34.     {
  35.         $sql $this->createQueryBuilder('u')
  36.             ->where('u.roles LIKE :role')
  37.             ->setParameter('role''%'.$role.'%')
  38.             ->getQuery()
  39.             ->getResult();
  40.         return $sql;
  41.     }
  42.     public function getList()
  43.     {
  44.         $fields = ['u.id''u.email''u.roles''u.isVerified''u.contract'];
  45.         $sql $this->createQueryBuilder('u')
  46.             ->select($fields)
  47.             ->getQuery()
  48.             ->getResult();
  49.         return $sql;
  50.     }
  51.     public function add(User $entitybool $flush false): void
  52.     {
  53.         if (null == $entity->getDateRegister()) {
  54.             $entity->setDateRegister(new \DateTime());
  55.         }
  56.         $this->getEntityManager()->persist($entity);
  57.         if ($flush) {
  58.             $this->getEntityManager()->flush();
  59.         }
  60.     }
  61.     // /**
  62.     //  * @return User[] Returns an array of User objects
  63.     //  */
  64.     /*
  65.     public function findByExampleField($value)
  66.     {
  67.         return $this->createQueryBuilder('u')
  68.             ->andWhere('u.exampleField = :val')
  69.             ->setParameter('val', $value)
  70.             ->orderBy('u.id', 'ASC')
  71.             ->setMaxResults(10)
  72.             ->getQuery()
  73.             ->getResult()
  74.         ;
  75.     }
  76.     */
  77.     /*
  78.     public function findOneBySomeField($value): ?User
  79.     {
  80.         return $this->createQueryBuilder('u')
  81.             ->andWhere('u.exampleField = :val')
  82.             ->setParameter('val', $value)
  83.             ->getQuery()
  84.             ->getOneOrNullResult()
  85.         ;
  86.     }
  87.     */
  88. }