src/Repository/CartRepository.php line 20

Open in your IDE?
  1. <?php
  2. namespace App\Repository;
  3. use App\Entity\Cart;
  4. use Doctrine\ORM\EntityManager;
  5. use Doctrine\ORM\EntityManagerInterface;
  6. use Doctrine\ORM\EntityRepository;
  7. use App\Exception\CartException;
  8. final class CartRepository
  9. {
  10.     /**
  11.      * @var EntityRepository
  12.      */
  13.     private $repository;
  14.     public function __construct(EntityManagerInterface $entityManager)
  15.     {
  16.         $this->repository $entityManager->getRepository(Cart::class);
  17.     }
  18.     public function getAll($locale 'pl') {
  19.         $q $this->repository->createQueryBuilder('p');
  20.         return $q;
  21.     }
  22.     /**
  23.      * @return \Doctrine\Common\Persistence\ObjectRepository|EntityRepository
  24.      */
  25.     public function getRepository() {
  26.         return $this->repository;
  27.     }
  28.     /**
  29.      * @param $session
  30.      * @return Cart
  31.      * @throws CartException
  32.      */
  33.     public function find($session) {
  34.         /** @var $cart Cart */
  35.         $cart $this->getRepository()->findOneBy([
  36.             'session' => $session,
  37.         ]);
  38.         if ($cart instanceof Cart) {
  39.             return $cart;
  40.         }
  41.         throw new CartException("Cart not found: ".$session);
  42.     }
  43. }