where('home_id', '=', $team_id); case 'away': return $query->where('away_id', '=', $team_id); default: return $query->where('home_id', '=', $team_id) ->orWhere('away_id', '=', $team_id); } })->pluck('match_id')->toArray(); $matches_count = count($matches); // dd($matches_count); $positions_map = LoadPositions::load(); // needs to run daily for pre-calculaton $player = SofaScorePlayerPerSeason::with('details')->where('ss_team_id', $team_id)->whereIn('season', $season)->get(); $arr = []; foreach ($player as $val) { switch ($team_position) { case 'home': $events_played = $val->events_played_home; $minues_played = $val->minutes_played_home; break; case 'away': $events_played = $val->events_played_away; $minues_played = $val->minutes_played_away; break; default: $events_played = $val->events_played_home + $val->events_played_away; $minues_played = $val->minutes_played_home + $val->minutes_played_home; break; } $colorlevel = round($matches_count / 3); $preferred_foot = $val->details->preferred_foot ?? ''; $player_position = ''; if (isset($val->details->position)) $player_position = ' (Role ' . $val->details->position . ')'; if (in_array($val->details->position, $positions_map['MIDFIELD'])) { $position = 'MIDFIELD'; } else if (in_array($val->details->position, $positions_map['DEFENCE'])) { $position = 'DEFENCE'; } else if (in_array($val->details->position, $positions_map['ATTACK'])) { $position = 'ATTACK'; } else if (in_array($val->details->position, $positions_map['GOALKEEPER'])) { $position = 'GOALKEEPER'; } else { $player_position = $val->details->position; $position = 'NO SPECIFIC POSITION'; } $infostring = $events_played . ' Ev'; if ($preferred_foot) $infostring .= ' - ' . $preferred_foot; if ($events_played) $infostring .= ' - ' . round($minues_played / $events_played) . 'min'; if ($events_played < $colorlevel) { $arr[$position][$val->ss_player_id] = '' . $val->details->player_name . '' . $player_position . '
' . $infostring . '
'; } else if ($events_played < $colorlevel * 2) { $arr[$position][$val->ss_player_id] = '' . $val->details->player_name . '' . $player_position . '
' . $infostring . '
'; } else { $arr[$position][$val->ss_player_id] = '' . $val->details->player_name . '' . $player_position . '
' . $infostring . '
'; } } return $arr; } public static function convertToHoursMins(int $time, $format = '%02dh:%02dm') { if ($time < 1) { return; } $hours = floor($time / 60); $minutes = $time % 60; return sprintf($format, $hours, $minutes); } }