Ojs\AnalyticsBundle\Entity\ArticleFileStatisticRepository::getMostDownloadedFiles PHP Method

getMostDownloadedFiles() public method

public getMostDownloadedFiles ( $articles, null $dates = null, null $limit = null ) : array
$articles
$dates null
$limit null
return array
    public function getMostDownloadedFiles($articles, $dates = null, $limit = null)
    {
        $builder = $this->createQueryBuilder('stat');
        if ($dates !== null) {
            $builder->andWhere('stat.date IN (:dates)')->setParameter('dates', $dates);
        }
        $builder->join('OjsJournalBundle:ArticleFile', 'file', 'WHERE', 'stat.articleFile = file')->join('OjsJournalBundle:Article', 'article', 'WHERE', 'file.article = article')->addSelect('SUM(stat.download)')->andWhere('article IN (:articles)')->groupBy('stat.articleFile, stat.id')->orderBy('stat.download', 'DESC')->setMaxResults($limit)->setParameter('articles', $articles);
        return $builder->getQuery()->getResult();
    }