src/Repository/DirectionsRepository.php line 30

Open in your IDE?
  1. <?php
  2. namespace App\Repository;
  3. use App\Entity\Directions;
  4. use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
  5. use Doctrine\Persistence\ManagerRegistry;
  6. /**
  7.  * @method Directions|null find($id, $lockMode = null, $lockVersion = null)
  8.  * @method Directions|null findOneBy(array $criteria, array $orderBy = null)
  9.  * @method Directions[]    findAll()
  10.  * @method Directions[]    findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
  11.  */
  12. class DirectionsRepository extends ServiceEntityRepository
  13. {
  14.     public function __construct(ManagerRegistry $registry)
  15.     {
  16.         parent::__construct($registryDirections::class);
  17.     }
  18.     public function getDirectionsRandom(Directions $direction$limit)
  19.     {
  20.         return $this->createQueryBuilder('d')
  21.             ->andWhere('d.id != :direction')
  22.             ->setParameter('direction'$direction)
  23.             ->orderBy('RAND()')
  24.             ->setMaxResults($limit)
  25.             ->getQuery()
  26.             ->getResult()
  27.             ;
  28.     }
  29.     public function findSingleDirection(int $id): ?Directions
  30.     {
  31.         return $this->createQueryBuilder('d')
  32.             ->andWhere('d.id = :id')
  33.             ->andWhere('d.online = 1')
  34.             ->setParameter('id'$id)
  35.             ->getQuery()
  36.             ->getOneOrNullResult()
  37.             ;
  38.     }
  39. }