src/FlexApp/Repository/BoolDBSettingRepository.php line 38

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace FlexApp\Repository;
  4. use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
  5. use Doctrine\ORM\AbstractQuery;
  6. use Doctrine\ORM\NonUniqueResultException;
  7. use Doctrine\Persistence\ManagerRegistry;
  8. use FlexApp\Constant\TimeConstant;
  9. use FlexApp\Entity\BoolDBSetting;
  10. use WebBundle\Traits\RepoTrait;
  11. /**
  12.  * @method BoolDBSetting|null find($id, $lockMode = null, $lockVersion = null)
  13.  * @method BoolDBSetting|null findOneBy(array $criteria, array $orderBy = null)
  14.  * @method BoolDBSetting[]    findAll()
  15.  * @method BoolDBSetting[]    findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
  16.  */
  17. class BoolDBSettingRepository extends ServiceEntityRepository
  18. {
  19.     use RepoTrait;
  20.     public function __construct(ManagerRegistry $registry)
  21.     {
  22.         parent::__construct($registryBoolDBSetting::class);
  23.     }
  24.     public function findOneByName(string $name): ?BoolDBSetting
  25.     {
  26.         try {
  27.             return $this->createQueryBuilder('bds')
  28.                 ->where('bds.name = :name')
  29.                 ->setParameter('name'$name)
  30.                 ->getQuery()
  31.                 ->enableResultCache((int) TimeConstant::DAY)
  32.                 ->getOneOrNullResult(AbstractQuery::HYDRATE_OBJECT);
  33.         } catch (NonUniqueResultException $e) {
  34.             return null;
  35.         }
  36.     }
  37. }