Newscoop\Entity\Repository\SectionRepository::getSections PHP Метод

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

public getSections ( $publication, $issue = null, $language = null )
    public function getSections($publication, $issue = null, $language = null)
    {
        $em = $this->getEntityManager();
        $queryBuilder = $em->getRepository('Newscoop\\Entity\\Section')->createQueryBuilder('s')->where('s.publication = :publication')->setParameter('publication', $publication);
        if ($issue) {
            $queryBuilder->andWhere('s.issue = :issue')->setParameter('issue', $issue);
        }
        if ($language) {
            $queryBuilder->andWhere('s.language = :language')->setParameter('language', $language);
        }
        $countQueryBuilder = clone $queryBuilder;
        $countQueryBuilder->select('count(s)');
        $count = $countQueryBuilder->getQuery()->getSingleScalarResult();
        $query = $queryBuilder->getQuery();
        $query->setHint('knp_paginator.count', $count);
        return $query;
    }