Ojs\AnalyticsBundle\Utils\GraphDataGenerator::generateArticleBarChartDataDoctrine PHP Method

generateArticleBarChartDataDoctrine() public method

Returns an array which can be passed to C3.js for bar chart graph creation
public generateArticleBarChartDataDoctrine ( array $articles, array $dates ) : array
$articles array
$dates array
return array
    public function generateArticleBarChartDataDoctrine($articles, $dates)
    {
        $articleStatRepo = $this->manager->getRepository('OjsAnalyticsBundle:ArticleStatistic');
        $articleStats = $articleStatRepo->findByArticles($articles, $dates);
        $articleViews = ['View'];
        foreach ($dates as $date) {
            $total = 0;
            /** @var ArticleStatistic $stat */
            $stat = $articleStats->first();
            while ($stat && $stat->getDate()->format($this::DATE_FORMAT) == $date) {
                $total += $stat->getView();
                $articleStats->removeElement($stat);
                $stat = $articleStats->first();
            }
            $articleViews[] = $total;
        }
        return $articleViews;
    }