private function modelLineData() { $vist = \Visittype::findByIdAccount($this->account->idAccount); $time = array(); $visits = array(0, 0); $date = strtotime(date("Y-m-d"), time()); $today = strtotime("+1 days", $date); $first_day = strtotime("-29 days", $today); $time[] = $first_day; $j = 0; for ($i = 1; $i < 29; $i++) { $visits[] = 0; $time[] = strtotime("+1 days", $time[$j]); $j++; } $time[] = $today; $vists = array(); foreach ($vist as $vt) { $obj = new \stdClass(); $obj->idVisittype = $vt->idVisittype; $obj->name = $vt->name; $obj->data = $visits; $vists[] = $obj; } foreach ($this->visits as $visit) { foreach ($vists as $vt) { if ($visit->idVisittype == $vt->idVisittype) { foreach ($time as $key => $v) { if ($visit->start >= $v and $visit->end < $time[$key + 1]) { $vt->data[$key] += 1; } } } } } $tm = array(); foreach ($time as $t) { $tm[] = date("d/M/Y", $t); } $this->modelData = array('categories' => $tm, 'data' => $vists); }