Passed
Branch develop (21f7ca)
by BENARD
04:27
created

GameProvider::getNbPostDay()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 26
Code Lines 18

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 2
eloc 18
nc 2
nop 2
dl 0
loc 26
rs 9.6666
c 1
b 0
f 0
1
<?php
2
3
namespace VideoGamesRecords\DwhBundle\DataProvider\Core;
4
5
class GameProvider extends AbstractTablePlayerProvider
6
{
7
    /**
8
     * @return array
9
     */
10
    public function getData(): array
11
    {
12
        return $this->em->getRepository('VideoGamesRecords\CoreBundle\Entity\Game')
13
            ->findAll();
14
    }
15
16
    /**
17
     * @param $date1
18
     * @param $date2
19
     * @return array
20
     */
21
    public function getNbPostDay($date1, $date2): array
22
    {
23
        //----- data nbPostDay
24
        $query = $this->em->createQuery(
25
            "
26
            SELECT
27
                 ga.id,
28
                 COUNT(pc.id) as nb
29
            FROM VideoGamesRecords\CoreBundle\Entity\PlayerChart pc
30
            JOIN pc.chart c
31
            JOIN c.group gr
32
            JOIN gr.game ga
33
            WHERE pc.lastUpdate BETWEEN :date1 AND :date2
34
            GROUP BY ga.id"
35
        );
36
37
        $query->setParameter('date1', $date1);
38
        $query->setParameter('date2', $date2);
39
        $result = $query->getResult();
40
41
        $data = array();
42
        foreach ($result as $row) {
43
            $data[$row['id']] = $row['nb'];
44
        }
45
46
        return $data;
47
    }
48
}
49
50