Conditions | 6 |
Paths | 12 |
Total Lines | 33 |
Code Lines | 23 |
Lines | 0 |
Ratio | 0 % |
Changes | 0 |
1 | <?php |
||
17 | protected function prepareModels() |
||
18 | { |
||
19 | $models = []; |
||
20 | |||
21 | $dbFrom = $this->from->copy(); |
||
22 | switch ($this->grouping) { |
||
23 | case Grouping::MONTHLY: |
||
24 | $dbFrom = $dbFrom->subMonth()->endOfMonth(); |
||
25 | break; |
||
26 | case Grouping::WEEKLY: |
||
27 | $dbFrom = $dbFrom->subWeek()->endOfWeek(); |
||
28 | break; |
||
29 | case Grouping::DAILY: |
||
30 | default: |
||
31 | $dbFrom = $dbFrom->subDay()->endOfDay(); |
||
32 | } |
||
33 | $dbFrom = $this->findDbDate($dbFrom); |
||
34 | |||
35 | $dbTo = $this->to->copy()->endOfDay()->toDateTimeString(); |
||
36 | |||
37 | $idsQuery = $this->findStatsIds($dbFrom, $dbTo, false); |
||
|
|||
38 | $data = $this->findDataModels($idsQuery); |
||
39 | |||
40 | $older = array_shift($data); |
||
41 | foreach ($data as $stats) { |
||
42 | foreach ($this->statsAttributes as $statsAttribute) { |
||
43 | $value = ArrayHelper::getValue($stats, $statsAttribute, 0) - ArrayHelper::getValue($older, $statsAttribute, 0); |
||
44 | $models[$stats['created_at']][$statsAttribute] = $value; |
||
45 | } |
||
46 | $older = $stats; |
||
47 | } |
||
48 | |||
49 | return $models; |
||
50 | } |
||
51 | } |