src/Repository/Accounting/AccountRepository.php line 23

Open in your IDE?
  1. <?php
  2. namespace App\Repository\Accounting;
  3. use App\Entity\Accounting\Account;
  4. use App\Entity\Booking\Cabin;
  5. use App\Entity\Booking\Quote;
  6. use App\Repository\ApplicationFilterRepository;
  7. use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
  8. use Doctrine\Persistence\ManagerRegistry;
  9. use Exception;
  10. /**
  11.  * @method Account|null find($id, $lockMode = null, $lockVersion = null)
  12.  * @method Account|null findOneBy(array $criteria, array $orderBy = null)
  13.  * @method Account[]    findAll()
  14.  * @method Account[]    findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
  15.  */
  16. class AccountRepository extends ServiceEntityRepository
  17. {
  18.     public function __construct(ManagerRegistry $registry)
  19.     {
  20.         parent::__construct($registryAccount::class);
  21.     }
  22.     /**
  23.      * @throws Exception
  24.      */
  25.     public function findAccountByQuote(Quote $quoteCabin $cabin)
  26.     {
  27.         $qb $this->createQueryBuilder('a')->innerJoin('a.applicationFilter''af');
  28.         $qb ApplicationFilterRepository::addApplicationFilterQueryBuilderForObject($qb$quote);
  29.         $qb ApplicationFilterRepository::addApplicationFilterQueryBuilderForCruiseHistory($qb$quote->getCruiseHistory());
  30.         $qb ApplicationFilterRepository::addApplicationFilterQueryBuilderForCabin($qb$cabin);
  31.         return $qb->getQuery()->getResult();
  32.     }
  33. }