src/Repository/VehicleFormRepository.php line 60

  1. <?php
  2. namespace App\Repository;
  3. use App\Entity\VehicleForm;
  4. use DateTimeInterface;
  5. use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
  6. use Doctrine\Persistence\ManagerRegistry;
  7. /**
  8.  * @extends ServiceEntityRepository<VehicleForm>
  9.  *
  10.  * @method VehicleForm|null find($id, $lockMode = null, $lockVersion = null)
  11.  * @method VehicleForm|null findOneBy(array $criteria, array $orderBy = null)
  12.  * @method VehicleForm[]    findAll()
  13.  * @method VehicleForm[]    findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
  14.  */
  15. class VehicleFormRepository extends ServiceEntityRepository
  16. {
  17.     public function __construct(ManagerRegistry $registry)
  18.     {
  19.         parent::__construct($registryVehicleForm::class);
  20.     }
  21.     /**
  22.      * @return VehicleForm[] Returns an array of Dealer objects
  23.      */
  24.     public function findQuery(): array
  25.     {
  26.         $return =  $this->createQueryBuilder('vf') ;
  27.         return  $return->orderBy('vf.createAt''DESC')
  28.             ->getQuery()
  29.             ->getResult();
  30.     }
  31.     public function save(VehicleForm $entitybool $flush false): void
  32.     {
  33.         $this->getEntityManager()->persist($entity);
  34.         if ($flush) {
  35.             $this->getEntityManager()->flush();
  36.         }
  37.     }
  38.     public function remove(VehicleForm $entitybool $flush false): void
  39.     {
  40.         $this->getEntityManager()->remove($entity);
  41.         if ($flush) {
  42.             $this->getEntityManager()->flush();
  43.         }
  44.     }
  45.     /**
  46.      * Get inquiries for dealer vehicles
  47.      */
  48.     public function getInquiriesByDealer($dealerDateTimeInterface $dateFrom nullDateTimeInterface $dateTo null): array
  49.     {
  50.         $qb $this->createQueryBuilder('vf')
  51.             ->join('vf.vehicle''v')
  52.             ->join('v.manufacturer''vm')
  53.             ->join('v.model''vmo')
  54.             ->where('v.dealer = :dealer')
  55.             ->setParameter('dealer'$dealer)
  56.             ->orderBy('vf.createAt''DESC');
  57.         if ($dateFrom) {
  58.             $qb->andWhere('vf.createAt >= :dateFrom')
  59.                ->setParameter('dateFrom'$dateFrom);
  60.         }
  61.         if ($dateTo) {
  62.             $qb->andWhere('vf.createAt <= :dateTo')
  63.                ->setParameter('dateTo'$dateTo);
  64.         }
  65.         return $qb->getQuery()->getResult();
  66.     }
  67. //    /**
  68. //     * @return VehicleForm[] Returns an array of VehicleForm objects
  69. //     */
  70. //    public function findByExampleField($value): array
  71. //    {
  72. //        return $this->createQueryBuilder('v')
  73. //            ->andWhere('v.exampleField = :val')
  74. //            ->setParameter('val', $value)
  75. //            ->orderBy('v.id', 'ASC')
  76. //            ->setMaxResults(10)
  77. //            ->getQuery()
  78. //            ->getResult()
  79. //        ;
  80. //    }
  81. //    public function findOneBySomeField($value): ?VehicleForm
  82. //    {
  83. //        return $this->createQueryBuilder('v')
  84. //            ->andWhere('v.exampleField = :val')
  85. //            ->setParameter('val', $value)
  86. //            ->getQuery()
  87. //            ->getOneOrNullResult()
  88. //        ;
  89. //    }
  90. }