nepster-web
@nepster-web

Doctrine, как посчитать кол-во записей с join?

Есть некий запрос на получение данных (запрос сокращен для удобства):
$qb = $this->entityManager->createQueryBuilder()
            ->select(['record', 'type'])
            ->from(Record::class, 'record')
            ->leftJoin('record.type', 'type');

        $criteria = Criteria::create();
        $criteria->andWhere(Criteria::expr()->eq('type.alias', 'news'));
        $qb->addCriteria($criteria);

        $query = $qb->getQuery();

        $query->getScalarResult();


Мне нужно проделать пожалуй тоже самое, только получить кол-во записей скалярным числом.
Понятно, что вариант с count($query->getScalarResult()) не подходит по оптимизации.

Подскажите, как можно подсчитать кол-во записей, учитывая join?
  • Вопрос задан
  • 633 просмотра
Пригласить эксперта
Ответы на вопрос 1
@BorisKorobkov
Web developer
Вариант 1. Выполнить отдельный запрос SELECT COUNT(*) ..., то есть $qb->count()

Вариант 2 (костыль только для MySQL). https://dev.mysql.com/doc/refman/5.7/en/informatio...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы