get(); $arr = []; foreach ($players as $val) { $res = StatistikoPlayer::whereIn('ss_player_id', $val->ss_player_id)->get(); foreach ($res as $val) { $ss_player_id = (int) $val->ss_player_id; $activeteam_id = (int) $val->activeteam_id; $minutes_played = (int) $val->minutes_played; $season = $val->event->season; $home_id = (int) $val->event->home_id; $away_id = (int) $val->event->away_id; $startime = $val->event->starttime; if ($startime->greaterThan(now()->subDays(180))) { $last_180_days = true; } else { $last_180_days = false; } if (! isset($arr[$ss_player_id])) { self::array_template($arr, $ss_player_id); } if ($activeteam_id == $home_id) { $arr[$ss_player_id]['events_played_home'] += 1; $arr[$ss_player_id]['minutes_played_home'] += $minutes_played; $arr[$ss_player_id]['events_played_home'] += 1; $arr[$ss_player_id]['minutes_played_home'] += $minutes_played; if ($last_180_days) { $arr[$ss_player_id]['events_played_home'] += 1; $arr[$ss_player_id]['minutes_played_home'] += $minutes_played; } } elseif ($activeteam_id == $away_id) { $arr[$ss_player_id]['events_played_away'] += 1; $arr[$ss_player_id]['minutes_played_away'] += $minutes_played; $arr[$ss_player_id]['events_played_away'] += 1; $arr[$ss_player_id]['minutes_played_away'] += $minutes_played; if ($last_180_days) { $arr[$ss_player_id]['events_played_away'] += 1; $arr[$ss_player_id]['minutes_played_away'] += $minutes_played; } } $cards = $val->card_yellow + $val->card_yellowred; if ($season == 'last180days' && $last_180_days) { $arr[$ss_player_id]['ss_player_id'] = $ss_player_id; $arr[$ss_player_id]['season'] = 'last180days'; $arr[$ss_player_id]['total_events']++; $arr[$ss_player_id]['total_min'] += $minutes_played; $arr[$ss_player_id]['average_min'] = round($arr[$ss_player_id]['total_min'] / $arr[$ss_player_id]['total_events']); $arr[$ss_player_id]['goals'] += $val->goals; $arr[$ss_player_id]['fouls'] += $val->fouls; $arr[$ss_player_id]['cards'] += $cards; $arr[$ss_player_id]['offsides'] += $val->offsides; $arr[$ss_player_id]['shots_on_target'] += $val->shots_on_target; $arr[$ss_player_id]['shots_off_target'] += $val->shots_off_target; $arr[$ss_player_id]['shots_blocked'] += $val->shots_blocked; $arr[$ss_player_id]['total_shots'] += $val->shots_on_target + $val->shots_off_target + $val->shots_blocked; } if ($season != 'last180days') { $arr[$ss_player_id]['ss_player_id'] = $ss_player_id; $arr[$ss_player_id]['season'] = $season; $arr[$ss_player_id]['total_events']++; $arr[$ss_player_id]['total_min'] += $minutes_played; $arr[$ss_player_id]['average_min'] = round($arr[$ss_player_id]['total_min'] / $arr[$ss_player_id]['total_events']); $arr[$ss_player_id]['goals'] += $val->goals; $arr[$ss_player_id]['fouls'] += $val->fouls; $arr[$ss_player_id]['cards'] += $cards; $arr[$ss_player_id]['offsides'] += $val->offsides; $arr[$ss_player_id]['shots_on_target'] += $val->shots_on_target; $arr[$ss_player_id]['shots_off_target'] += $val->shots_off_target; $arr[$ss_player_id]['shots_blocked'] += $val->shots_blocked; $arr[$ss_player_id]['total_shots'] += $val->shots_on_target + $val->shots_off_target + $val->shots_blocked; } } } return $arr; } public static function array_template(array &$arr, int $ss_player_id) { $arr[$ss_player_id]['ss_player_id'] = 0; $arr[$ss_player_id]['season'] = ''; $arr[$ss_player_id]['total_events'] = 0; $arr[$ss_player_id]['total_min'] = 0; $arr[$ss_player_id]['average_min'] = 0; $arr[$ss_player_id]['events_played_home'] = 0; $arr[$ss_player_id]['events_played_away'] = 0; $arr[$ss_player_id]['minutes_played_home'] = 0; $arr[$ss_player_id]['minutes_played_away'] = 0; $arr[$ss_player_id]['goals'] = 0; $arr[$ss_player_id]['fouls'] = 0; $arr[$ss_player_id]['offsides'] = 0; $arr[$ss_player_id]['shots_on_target'] = 0; $arr[$ss_player_id]['shots_off_target'] = 0; $arr[$ss_player_id]['shots_blocked'] = 0; $arr[$ss_player_id]['total_shots'] = 0; $arr[$ss_player_id]['cards'] = 0; } }