zend-blog-3-backend
47 строк · 1.3 Кб
1<?php
2
3namespace App\Repository;4
5use App\Entity\TelegramUpdate;6use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;7use Doctrine\Persistence\ManagerRegistry;8
9/**
10* @method TelegramUpdate|null find($id, $lockMode = null, $lockVersion = null)
11*/
12class TelegramUpdateRepository extends ServiceEntityRepository13{
14use ListQueryTrait;15
16/**17* @param ManagerRegistry $registry
18*/
19public function __construct(ManagerRegistry $registry)20{21parent::__construct($registry, TelegramUpdate::class);22}23
24/**25* @param string $from
26* @param string $to
27* @param int $adminId
28*
29* @return array
30*/
31public function countNewMessages(string $from, string $to, int $adminId): int32{33$qb = $this->createQueryBuilder('t');34$qb35->select('COUNT(t.id) AS cnt')36->innerJoin('t.telegramUser', 'u')37->andWhere($qb->expr()->neq('u.userId', ':adminId'))38->andWhere($qb->expr()->gte('t.timeCreated', ':from'))39->andWhere($qb->expr()->lt('t.timeCreated', ':to'))40->setParameter('from', $from)41->setParameter('to', $to)42->setParameter('adminId', $adminId)43;44
45return (int)$qb->getQuery()->getSingleScalarResult();46}47}
48