zend-blog-3-backend

Форк
0
/
TelegramUpdateRepository.php 
47 строк · 1.3 Кб
1
<?php
2

3
namespace App\Repository;
4

5
use App\Entity\TelegramUpdate;
6
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
7
use Doctrine\Persistence\ManagerRegistry;
8

9
/**
10
 * @method TelegramUpdate|null find($id, $lockMode = null, $lockVersion = null)
11
 */
12
class TelegramUpdateRepository extends ServiceEntityRepository
13
{
14
    use ListQueryTrait;
15

16
    /**
17
     * @param ManagerRegistry $registry
18
     */
19
    public function __construct(ManagerRegistry $registry)
20
    {
21
        parent::__construct($registry, TelegramUpdate::class);
22
    }
23

24
    /**
25
     * @param string $from
26
     * @param string $to
27
     * @param int $adminId
28
     *
29
     * @return array
30
     */
31
    public function countNewMessages(string $from, string $to, int $adminId): int
32
    {
33
        $qb = $this->createQueryBuilder('t');
34
        $qb
35
            ->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

45
        return (int)$qb->getQuery()->getSingleScalarResult();
46
    }
47
}
48

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.