Newscoop\Entity\Repository\ArticleTopicRepository::getAllArticleTopics PHP Метод

getAllArticleTopics() публичный Метод

Get all topics for an Article.
public getAllArticleTopics ( integer | string $articleNumber, string $languageCode ) : Doctrine\ORM\Query
$articleNumber integer | string Article number
$languageCode string Article's language code
Результат Doctrine\ORM\Query
    public function getAllArticleTopics($articleNumber, $languageCode)
    {
        $languageId = $this->_em->getRepository('Newscoop\\Entity\\Language')->findOneByCode($languageCode);
        $qb = $this->createQueryBuilder('at')->select('at', 't')->leftJoin('at.article', 'a')->leftJoin('at.topic', 't')->leftJoin('t.translations', 'tt')->where('at.article = :articleNumber')->andWhere('a.language = :languageId')->setParameters(array('articleNumber' => $articleNumber, 'languageId' => $languageId));
        $countQueryBuilder = clone $qb;
        $countQueryBuilder->select('COUNT(at)');
        $count = $countQueryBuilder->getQuery()->getSingleScalarResult();
        $query = $qb->getQuery();
        $query = $this->_em->getRepository('Newscoop\\NewscoopBundle\\Entity\\Topic')->setTranslatableHint($query, $languageCode);
        $query->setHint('knp_paginator.count', $count);
        return $query;
    }