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;
}