src/Repository/BattleRepository.php line 32

Open in your IDE?
  1. <?php
  2. namespace App\Repository;
  3. use App\Entity\Battle;
  4. use App\Entity\Client;
  5. use App\Entity\Rapper;
  6. use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
  7. use Doctrine\Persistence\ManagerRegistry;
  8. /**
  9.  * @extends ServiceEntityRepository<Battle>
  10.  *
  11.  * @method Battle|null find($id, $lockMode = null, $lockVersion = null)
  12.  * @method Battle|null findOneBy(array $criteria, array $orderBy = null)
  13.  * @method Battle[]    findAll()
  14.  * @method Battle[]    findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
  15.  */
  16. class BattleRepository extends ServiceEntityRepository
  17. {
  18.     public function __construct(ManagerRegistry $registry)
  19.     {
  20.         parent::__construct($registryBattle::class);
  21.     }
  22.     /**
  23.      * @return Battle[] Returns an array of Battle objects
  24.      */
  25.     public function findAllForHomepage(): array
  26.     {
  27.         return $this->createQueryBuilder('b')
  28.             ->andWhere('b.isConfirmed = :confirmed')
  29.             ->setParameter('confirmed'true)
  30.             ->orderBy('b.createdAt''ASC')
  31.             ->setMaxResults(9)
  32.             ->getQuery()
  33.             ->getResult()
  34.             ;
  35.     }
  36.     /**
  37.      * @return Battle[] Returns an array of Battle objects
  38.      */
  39.     public function findLatestForRapper(Rapper $rapper,int $limit): array
  40.     {
  41.         $res $this->createQueryBuilder('b')
  42.             ->andWhere('b.isConfirmed = 1 OR b.isCompleted = 1 OR b.isCanceled = 1')
  43.             ->andWhere('b.challenger = :rapper OR b.oponnent = :rapper')
  44.             ->setParameter('rapper'$rapper)
  45.             ->orderBy('b.createdAt''ASC')
  46.             ;
  47.         if($limit>0){
  48.             $res->setMaxResults($limit);
  49.         }
  50.         return $res->getQuery()
  51.             ->getResult()
  52.             ;
  53.     }
  54.     /**
  55.      * @return Battle[] Returns an array of Battle objects
  56.      */
  57.     public function findOpenedForRapper(Rapper $rapper,int $limit): array
  58.     {
  59.         $res $this->createQueryBuilder('b')
  60.             ->andWhere('b.isConfirmed = :confirmed')
  61.             ->setParameter('confirmed'false)
  62.             ->andWhere('b.isCompleted = :completed')
  63.             ->setParameter('completed'false)
  64.             ->andWhere('b.isCanceled = :canceled')
  65.             ->setParameter('canceled'false)
  66.             ->andWhere('b.challenger = :rapper OR b.oponnent = :rapper')
  67.             ->setParameter('rapper'$rapper)
  68.             ->orderBy('b.createdAt''ASC')
  69.         ;
  70.         if($limit>0){
  71.             $res->setMaxResults($limit);
  72.         }
  73.         return $res->getQuery()
  74.             ->getResult()
  75.             ;
  76.     }
  77.     public function save(Battle $entitybool $flush false): Battle
  78.     {
  79.         $this->getEntityManager()->persist($entity);
  80.         if ($flush) {
  81.             $this->getEntityManager()->flush();
  82.         }
  83.         return $entity;
  84.     }
  85.     public function remove(Battle $entitybool $flush false): void
  86.     {
  87.         $this->getEntityManager()->remove($entity);
  88.         if ($flush) {
  89.             $this->getEntityManager()->flush();
  90.         }
  91.     }
  92. //    /**
  93. //     * @return Battle[] Returns an array of Battle objects
  94. //     */
  95. //    public function findByExampleField($value): array
  96. //    {
  97. //        return $this->createQueryBuilder('b')
  98. //            ->andWhere('b.exampleField = :val')
  99. //            ->setParameter('val', $value)
  100. //            ->orderBy('b.id', 'ASC')
  101. //            ->setMaxResults(10)
  102. //            ->getQuery()
  103. //            ->getResult()
  104. //        ;
  105. //    }
  106. //    public function findOneBySomeField($value): ?Battle
  107. //    {
  108. //        return $this->createQueryBuilder('b')
  109. //            ->andWhere('b.exampleField = :val')
  110. //            ->setParameter('val', $value)
  111. //            ->getQuery()
  112. //            ->getOneOrNullResult()
  113. //        ;
  114. //    }
  115. }