src/Repository/InfoPage/InfoPageRepository.php line 19

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace Slivki\Repository\InfoPage;
  4. use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
  5. use Doctrine\Persistence\ManagerRegistry;
  6. use Slivki\Entity\InfoPage;
  7. use Slivki\Exception\InfoPage\InfoPageNotFoundException;
  8. final class InfoPageRepository extends ServiceEntityRepository implements InfoPageRepositoryInterface
  9. {
  10.     public function __construct(ManagerRegistry $registry)
  11.     {
  12.         parent::__construct($registryInfoPage::class);
  13.     }
  14.     public function findById(int $id): ?InfoPage
  15.     {
  16.         $queryBuilder $this->createQueryBuilder('ip');
  17.         $expr $queryBuilder->expr();
  18.         return $queryBuilder
  19.             ->andWhere($expr->eq('ip.ID'':id'))
  20.             ->setParameter(':id'$id)
  21.             ->getQuery()
  22.             ->getOneOrNullResult();
  23.     }
  24.     public function getById(int $id): InfoPage
  25.     {
  26.         $infoPage $this->findById($id);
  27.         if (!$infoPage instanceof InfoPage) {
  28.             throw new InfoPageNotFoundException();
  29.         }
  30.         return $infoPage;
  31.     }
  32. }