<?php
declare(strict_types=1);
namespace FlexApp\Repository;
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
use Doctrine\ORM\AbstractQuery;
use Doctrine\ORM\NonUniqueResultException;
use Doctrine\Persistence\ManagerRegistry;
use FlexApp\Constant\TimeConstant;
use FlexApp\Entity\BoolDBSetting;
use WebBundle\Traits\RepoTrait;
/**
* @method BoolDBSetting|null find($id, $lockMode = null, $lockVersion = null)
* @method BoolDBSetting|null findOneBy(array $criteria, array $orderBy = null)
* @method BoolDBSetting[] findAll()
* @method BoolDBSetting[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
*/
class BoolDBSettingRepository extends ServiceEntityRepository
{
use RepoTrait;
public function __construct(ManagerRegistry $registry)
{
parent::__construct($registry, BoolDBSetting::class);
}
public function findOneByName(string $name): ?BoolDBSetting
{
try {
return $this->createQueryBuilder('bds')
->where('bds.name = :name')
->setParameter('name', $name)
->getQuery()
->enableResultCache((int) TimeConstant::DAY)
->getOneOrNullResult(AbstractQuery::HYDRATE_OBJECT);
} catch (NonUniqueResultException $e) {
return null;
}
}
}