src\Repository\VideoRepository.php line 56

Open in your IDE?
  1. <?php
  2. namespace App\Repository;
  3. use App\Entity\Video;
  4. use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
  5. use Doctrine\Persistence\ManagerRegistry;
  6. use Doctrine\ORM\Tools\Pagination\Paginator;
  7. /**
  8.  * @method Video|null find($id, $lockMode = null, $lockVersion = null)
  9.  * @method Video|null findOneBy(array $criteria, array $orderBy = null)
  10.  * @method Video[]    findAll()
  11.  * @method Video[]    findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
  12.  */
  13. class VideoRepository extends ServiceEntityRepository
  14. {
  15.     public function __construct(ManagerRegistry $registry)
  16.     {
  17.         parent::__construct($registryVideo::class);
  18.     }
  19.     // /**
  20.     //  * @return Video[] Returns an array of Video objects
  21.     //  */
  22.   
  23.     public function findByTitle($q)
  24.     {
  25.         //$order = in_array($order,['ASC','DESC'])? $order : 'ASC';
  26.         return $this->createQueryBuilder('v')
  27.             
  28.             ->andWhere('v.libelle LIKE :q')
  29.             ->setParameter('q''%' $q '%')
  30.             //->setMaxResults(2)
  31.             ->getQuery()
  32.             ->getResult();
  33.     }
  34.      public function findByVA($status)
  35.     {
  36.         return $this->createQueryBuilder('v')
  37.             ->andWhere('v.status = :val ')
  38.             ->andWhere('v.une = true ')
  39.             ->setParameter('val'$status)
  40.             //->setParameter('val1', $premium)
  41.             ->orderBy('v.id''DESC')
  42.             ->setMaxResults(2)
  43.             ->getQuery()
  44.             ->getResult()
  45.         ;
  46.     }
  47.      public function findBylist($status$q)
  48.     {
  49.         return $this->createQueryBuilder('v')
  50.         ->andWhere('v.status = :val  AND v.libelle LIKE :valq OR v.description LIKE :vald')
  51.         ->setParameter('val'$status)
  52.         ->setParameter('valq''%'$q .'%'
  53.         ->setParameter('vald''%'$q .'%'
  54.             //->setParameter('val1', $premium)
  55.             ->orderBy('v.id''DESC')
  56.             //->setMaxResults(5)
  57.             ->getQuery()
  58.             ->getResult()
  59.         ;
  60.     }
  61.     // requete pour la pagination
  62.     public function findWithPage($status$q$page 1$limit 30)
  63.     {
  64.         return new Paginator$this->createQueryBuilder('v')
  65.             ->andWhere('v.status = :val  AND v.libelle like :valq OR v.description like :vald')
  66.             ->setParameter('val'$status)
  67.             ->setParameter('valq''%'.$q.'%'
  68.             ->setParameter('vald''%'.$q.'%'
  69.             ->orderBy('v.id''DESC')
  70.             ->getQuery()
  71.             ->setFirstResult(($page 1) * $limit)
  72.             ->setMaxResults($limit))
  73.         ;
  74.         
  75.     }
  76.     
  77.     
  78.     /*$req->innerJoin('e.categorie','c')
  79.                 ->andWhere('c.id = :type')
  80.             ->setParameter('type',$type);*/
  81.     
  82.     public function findBycateg($status,$cat)
  83.     {
  84.         return $this->createQueryBuilder('v')
  85.             ->andWhere('v.status = :val AND v.categorie = :val1')
  86.             ->setParameter('val'$status)
  87.             ->setParameter('val1'$cat)
  88.             ->orderBy('v.id''DESC')
  89.             //->setMaxResults(1)
  90.             ->getQuery()
  91.             ->getResult()
  92.         ;
  93.     }
  94.    
  95.     public function findBycategA($status,$categorie)
  96.     {
  97.         return $this->createQueryBuilder('v')
  98.             ->andWhere('v.status = :val AND v.categorie = :val1')
  99.             ->andWhere(' v.categorie = :val1')
  100.             ->setParameter('val'$status)
  101.             ->setParameter('val1'$categorie)
  102.             ->orderBy('v.id''DESC')
  103.             ->setMaxResults(1)
  104.             ->getQuery()
  105.             ->getResult()
  106.         ;
  107.     }
  108.  
  109.  public function findBycategshow($status,$id,$categorie)
  110.     {
  111.         return $this->createQueryBuilder('v')
  112.             ->andWhere('v.status = :val ')
  113.             ->andWhere('v.id = :val1 ')
  114.             ->andWhere(' v.categorie = :vl2')
  115.             ->setParameter('val'$status)
  116.             ->setParameter('val1'$id)
  117.             ->setParameter('val2'$categorie)
  118.             //->orderBy('v.id', 'DESC')
  119.            // ->setMaxResults(1)
  120.             ->getQuery()
  121.             ->getResult()
  122.         ;
  123.     }
  124.   
  125.     public function findByRecente($status)
  126.     {
  127.         return $this->createQueryBuilder('v')
  128.             ->andWhere('v.status = :val ')
  129.             ->setParameter('val'$status)
  130.             //->setParameter('val1', $premium)
  131.             ->orderBy('v.id''DESC')
  132.             ->setMaxResults(1)
  133.             ->getQuery()
  134.             ->getResult()
  135.         ;
  136.     }
  137.   
  138.     /*
  139.     public function findOneBySomeField($value): ?Video
  140.     {
  141.         return $this->createQueryBuilder('v')
  142.             ->andWhere('v.exampleField = :val')
  143.             ->setParameter('val', $value)
  144.             ->getQuery()
  145.             ->getOneOrNullResult()
  146.         ;
  147.     }
  148.     */
  149. }