orWhere('home_id', $team_id) ->orWhere('away_id', '=', $team_id); })->get(); $count_events = $data->count(); $count_events = ! $count_events ? 1 : $count_events; $config = StatistikoConfig::pluck('value', 'varname')->toArray(); $work = []; foreach ($config as $key => $value) { $work[$key] = 0; } foreach ($data as $value) { foreach ($bettypes as $type) { if ($value['home_id'] == $team_id) { $work[$type.'_home_made_total'] += $value[$type.'_h']; // $work[$type.'_home_made_home'] += $value[$type.'_h']; $work[$type.'_home_got_total'] += $value[$type.'_a']; // $work[$type.'_home_got_home'] += $value[$type.'_a']; } elseif ($value['away_id'] == $team_id) { $work[$type.'_away_made_total'] += $value[$type.'_a']; // $work[$type.'_away_made_home'] += $value[$type.'_a']; $work[$type.'_away_got_total'] += $value[$type.'_h']; // $work[$type.'_away_got_home'] += $value[$type.'_h']; } } } $config = StatistikoConfig::pluck('value', 'varname')->toArray(); foreach ($config as $key => $value) { $work[$key] = $work[$key] * $value; } $aspettativa = []; foreach ($work as $key => $value) { if ($value) { $aspettativa[$key] = round($value /= $count_events, 1); } } $finals = []; foreach ($bettypes as $type) { $finals[$type]['home'] = 0; $finals[$type]['away'] = 0; } foreach ($aspettativa as $key => $value) { foreach ($bettypes as $type) { if (strpos($key, $type) !== false) { if (strpos($key, 'home') !== false) { $finals[$type]['home'] += $value; } if (strpos($key, 'away') !== false) { $finals[$type]['away'] += $value; } } } } return $finals; } }