filters = $filters; } protected function getStats(): array { $data = LoadEvents::load($this->filters, false); // dd($data); $this->columns = [ 'default' => 1, 'sm' => 2, 'md' => 3, 'lg' => 6, ]; $statistic_type = HelperStatisticType::get($this->filters); if (! isset($data['datasets'][0])) { $data['datasets'][0]['data'] = []; $data['datasets'][1]['data'] = []; $total_home = 0; $total_away = 0; $summe_home = 0; $summe_away = 0; $home_team = ''; $away_team = ''; } else { $arr_home = $data['datasets'][0]['data']; $arr_away = $data['datasets'][1]['data']; $total_home = count($arr_home); $total_away = count($arr_away); $summe_home = array_sum($arr_home); $summe_away = array_sum($arr_away); $home_team = $data['home_team']; $away_team = $data['away_team']; } if (! $total_home) { return [ Stat::make('Number of events', 0), Stat::make('Average '.$statistic_type, self::template(0, 0, $home_team, $away_team)), Stat::make('Median '.$statistic_type, self::template(0, 0, $home_team, $away_team)), Stat::make('Win', 0), Stat::make('Draw', 0), Stat::make('Lost', 0), ]; } sort($arr_home); sort($arr_away); if ($total_home % 2 == 0) { // even $m = $total_home / 2; $m1 = floor($m); $m2 = ceil($m); $median_home = round(($arr_home[$m1] + $arr_home[$m2]) / 2, 2); $m = $total_away / 2; $m1 = floor($m); $m2 = ceil($m); $median_away = round(($arr_away[$m1] + $arr_away[$m2]) / 2, 2); } else { // odd $m = $total_home / 2; $median_home = $arr_home[$m]; $m = floor($total_away / 2); $median_away = $arr_away[$m]; } $win = $data['results']['w'] ? number_format(Round::odd($total_home / $data['results']['w']), 2) : 0; $draw = $data['results']['d'] ? number_format(Round::odd($total_home / $data['results']['d']), 2) : 0; $lost = $data['results']['l'] ? number_format(Round::odd($total_home / $data['results']['l']), 2) : 0; $value_home = number_format($summe_home / $total_home, 1); $value_away = number_format($summe_away / $total_away, 1); return [ Stat::make('Number of events', new HtmlString('