src/Repository/SearchEngineRepository.php line 40

Open in your IDE?
  1. <?php
  2. namespace App\Repository;
  3. use App\Entity\SearchEngine;
  4. use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
  5. use Doctrine\Persistence\ManagerRegistry;
  6. /**
  7.  * @method SearchEngine|null find($id, $lockMode = null, $lockVersion = null)
  8.  * @method SearchEngine|null findOneBy(array $criteria, array $orderBy = null)
  9.  * @method SearchEngine[]    findAll()
  10.  * @method SearchEngine[]    findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
  11.  */
  12. class SearchEngineRepository extends AppRepository
  13. {
  14.     public $class SearchEngine::class;
  15.     public function getCount($params = [])
  16.     {
  17.         $query $this
  18.             ->createQueryBuilder('se')
  19.             ->select('COUNT(se.id) AS count');
  20.         if (!empty($params)) {
  21.             foreach ($params as $k => $v) {
  22.                 if (!empty($v)) {
  23.                     $query
  24.                         ->andWhere("se.$k LIKE :$k")
  25.                         ->setParameter($k"%$v%");
  26.                 }
  27.             }
  28.         }
  29.         return $query
  30.             ->getQuery()
  31.             ->getSingleScalarResult();
  32.     }
  33.     public function getPaginated($page$limit$params = [])
  34.     {
  35.         $start = ($page $limit) - $limit;
  36.         $query $this
  37.             ->createQueryBuilder('se');
  38.         if (!empty($params)) {
  39.             foreach ($params as $k => $v) {
  40.                 if (!empty($v)) {
  41.                     $query
  42.                         ->andWhere("se.$k LIKE :$k")
  43.                         ->setParameter($k"%$v%");
  44.                 }
  45.             }
  46.         }
  47.         return $query
  48.             ->setFirstResult($start)
  49.             ->setMaxResults($limit)
  50.             ->getQuery()
  51.             ->getResult();
  52.     }
  53.     // /**
  54.     //  * @return SearchEngine[] Returns an array of SearchEngine objects
  55.     //  */
  56.     /*
  57.     public function findByExampleField($value)
  58.     {
  59.         return $this->createQueryBuilder('s')
  60.             ->andWhere('s.exampleField = :val')
  61.             ->setParameter('val', $value)
  62.             ->orderBy('s.id', 'ASC')
  63.             ->setMaxResults(10)
  64.             ->getQuery()
  65.             ->getResult()
  66.         ;
  67.     }
  68.     */
  69.     /*
  70.     public function findOneBySomeField($value): ?SearchEngine
  71.     {
  72.         return $this->createQueryBuilder('s')
  73.             ->andWhere('s.exampleField = :val')
  74.             ->setParameter('val', $value)
  75.             ->getQuery()
  76.             ->getOneOrNullResult()
  77.         ;
  78.     }
  79.     */
  80. }