src/Repository/NewsRepository.php line 26

Open in your IDE?
  1. <?php
  2. namespace App\Repository;
  3. use App\Entity\Business;
  4. use App\Entity\News;
  5. use DateTime;
  6. use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
  7. use Doctrine\Persistence\ManagerRegistry;
  8. /**
  9.  * @extends ServiceEntityRepository<News>
  10.  *
  11.  * @method News|null find($id, $lockMode = null, $lockVersion = null)
  12.  * @method News|null findOneBy(array $criteria, array $orderBy = null)
  13.  * @method News[]    findAll()
  14.  * @method News[]    findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
  15.  */
  16. class NewsRepository extends ServiceEntityRepository
  17. {
  18.     public function __construct(ManagerRegistry $registry)
  19.     {
  20.         parent::__construct($registryNews::class);
  21.     }
  22.     public function findActiveByCenter(Business $center): array
  23.     {
  24.         $now = new DateTime('now');
  25.         $qb $this->createQueryBuilder('n');
  26.         $qb->where('n.parent = :center')
  27.             ->andWhere($qb->expr()->eq('n.published'':published'))
  28.             ->andWhere($qb->expr()->gte('n.dateTill'':now'))
  29.             ->setParameter('center'$center)
  30.             ->setParameter('now'$now)
  31.             ->setParameter('published'true)
  32.             ->orderBy('n.dateFrom''ASC');
  33.         return $qb
  34.             ->getQuery()
  35.             ->getResult();
  36.     }
  37. //    /**
  38. //     * @return News[] Returns an array of News objects
  39. //     */
  40. //    public function findByExampleField($value): array
  41. //    {
  42. //        return $this->createQueryBuilder('n')
  43. //            ->andWhere('n.exampleField = :val')
  44. //            ->setParameter('val', $value)
  45. //            ->orderBy('n.id', 'ASC')
  46. //            ->setMaxResults(10)
  47. //            ->getQuery()
  48. //            ->getResult()
  49. //        ;
  50. //    }
  51. //    public function findOneBySomeField($value): ?News
  52. //    {
  53. //        return $this->createQueryBuilder('n')
  54. //            ->andWhere('n.exampleField = :val')
  55. //            ->setParameter('val', $value)
  56. //            ->getQuery()
  57. //            ->getOneOrNullResult()
  58. //        ;
  59. //    }
  60. }