Newscoop\Entity\Repository\PlaylistRepository::articlesCount PHP Метод

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

Returns the total count of articles for a given playlist.
public articlesCount ( Playlist $playlist, array $languages = [], boolean $publishedOnly = true )
$playlist Newscoop\Entity\Playlist
$languages array
$publishedOnly boolean
    public function articlesCount(Playlist $playlist, array $languages = array(), $publishedOnly = true)
    {
        $em = $this->getEntityManager();
        $query = $em->createQueryBuilder();
        $query->select('count(distinct pa.articleNumber)')->from('Newscoop\\Entity\\PlaylistArticle', 'pa')->innerJoin('pa.article', 'a', 'WITH', 'pa.articleNumber = a.number')->leftJoin('a.language', 'l')->where('pa.playlist = ?1')->orderBy('pa.id');
        if (!empty($languages)) {
            $query->andWhere('l.code IN(?2)')->setParameter(2, $languages);
        }
        if ($publishedOnly) {
            $query->andWhere('a.workflowStatus = \'Y\'');
        }
        $query->setParameter(1, $playlist);
        if (!is_null($lang)) {
            $query->setParameter(2, $lang->getId());
        }
        $count = $query->getQuery()->getSingleScalarResult();
        return $count;
    }