fix update pre calc player by action
This commit is contained in:
1 parent
62a2e1710a
commit
5926e4e226
7 files changed
+190
-306
No files matched your search
+173
-287
@@ -28,8 +28,12 @@ trait UpdateHelper
|
||||
public function handle(): void
|
||||
{
|
||||
error_reporting(E_ALL);
|
||||
ini_set('memory_limit', '2048M');
|
||||
ini_set('display_errors', 1);
|
||||
|
||||
/**
|
||||
* ps aux | grep artisan
|
||||
* kill -9 12345
|
||||
*/
|
||||
$tmp = $this->options();
|
||||
$this->debug = $tmp['d'] ?? 0;
|
||||
|
||||
@@ -41,6 +45,7 @@ trait UpdateHelper
|
||||
$playerCount = $this->selectPlayer();
|
||||
} else {
|
||||
$playerCount = 1000000;
|
||||
$playerCount = 1000;
|
||||
}
|
||||
|
||||
if ($this->debug) {
|
||||
@@ -116,303 +121,184 @@ trait UpdateHelper
|
||||
|
||||
protected function updatePlayers(int $playerCount)
|
||||
{
|
||||
StatistikoDetail::chunk(500, function ($details) {
|
||||
foreach ($details as $chunk) {
|
||||
$res = StatistikoPlayer::with('event')->with('details')->whereIn('ss_player_id', $chunk)->orderBy('ss_player_id')->get();
|
||||
$res_player = StatistikoDetail::query()->where('is_active', 1)->limit($playerCount)->pluck('ss_player_id')->toArray();
|
||||
|
||||
$collection = [];
|
||||
foreach ($res as $val) {
|
||||
$chunks = array_chunk($res_player, 500);
|
||||
|
||||
if (isset($val->event)) {
|
||||
foreach ($chunks as $chunk) {
|
||||
|
||||
$ss_player_id = (int) $val->ss_player_id;
|
||||
$activeteam_id = (int) $val->activeteam_id;
|
||||
$minutes_played = (int) $val->minutes_played;
|
||||
// $ss_team_id = (int) $val->details->ss_team_id;
|
||||
$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($collection[$season][$ss_player_id])) {
|
||||
$this->array_template($collection, $ss_player_id, $season);
|
||||
}
|
||||
if (! isset($collection['total'][$ss_player_id])) {
|
||||
$this->array_template($collection, $ss_player_id, 'total');
|
||||
}
|
||||
if (! isset($collection['last_180_days'][$ss_player_id])) {
|
||||
$this->array_template($collection, $ss_player_id, 'last_180_days');
|
||||
}
|
||||
|
||||
if ($minutes_played > 0) {
|
||||
if ($activeteam_id == $home_id) {
|
||||
$collection[$season][$ss_player_id]['events_played_home'] += 1;
|
||||
$collection[$season][$ss_player_id]['minutes_played_home'] += $minutes_played;
|
||||
$collection['total'][$ss_player_id]['events_played_home'] += 1;
|
||||
$collection['total'][$ss_player_id]['minutes_played_home'] += $minutes_played;
|
||||
if ($last_180_days) {
|
||||
$collection['last_180_days'][$ss_player_id]['events_played_home'] += 1;
|
||||
$collection['last_180_days'][$ss_player_id]['minutes_played_home'] += $minutes_played;
|
||||
}
|
||||
} elseif ($activeteam_id == $away_id) {
|
||||
$collection[$season][$ss_player_id]['events_played_away'] += 1;
|
||||
$collection[$season][$ss_player_id]['minutes_played_away'] += $minutes_played;
|
||||
$collection['total'][$ss_player_id]['events_played_away'] += 1;
|
||||
$collection['total'][$ss_player_id]['minutes_played_away'] += $minutes_played;
|
||||
if ($last_180_days) {
|
||||
$collection['last_180_days'][$ss_player_id]['events_played_away'] += 1;
|
||||
$collection['last_180_days'][$ss_player_id]['minutes_played_away'] += $minutes_played;
|
||||
}
|
||||
|
||||
}
|
||||
// ubaldo 18. Sep 26 intanto vado avanti, appena trovo qwuaqlcosa ti scrivo, tu togli i red cards dal conteggio
|
||||
$cards = $val->card_yellow + $val->card_yellowred;
|
||||
|
||||
$collection[$season][$ss_player_id]['ss_player_id'] = $ss_player_id;
|
||||
// $collection[$season][$ss_player_id]['ss_team_id'] = $ss_team_id;
|
||||
$collection[$season][$ss_player_id]['season'] = $season;
|
||||
$collection[$season][$ss_player_id]['total_events']++;
|
||||
$collection[$season][$ss_player_id]['total_min'] += $minutes_played;
|
||||
$collection[$season][$ss_player_id]['average_min'] = round($collection[$season][$ss_player_id]['total_min'] / $collection[$season][$ss_player_id]['total_events']);
|
||||
$collection[$season][$ss_player_id]['goals'] += $val->goals;
|
||||
$collection[$season][$ss_player_id]['fouls'] += $val->fouls;
|
||||
$collection[$season][$ss_player_id]['cards'] += $cards;
|
||||
$collection[$season][$ss_player_id]['offsides'] += $val->offsides;
|
||||
$collection[$season][$ss_player_id]['shots_on_target'] += $val->shots_on_target;
|
||||
$collection[$season][$ss_player_id]['shots_off_target'] += $val->shots_off_target;
|
||||
$collection[$season][$ss_player_id]['shots_blocked'] += $val->shots_blocked;
|
||||
$collection[$season][$ss_player_id]['total_shots'] += $val->shots_on_target + $val->shots_off_target + $val->shots_blocked;
|
||||
|
||||
$collection['total'][$ss_player_id]['ss_player_id'] = $ss_player_id;
|
||||
// $collection['total'][$ss_player_id]['ss_team_id'] = $ss_team_id;
|
||||
$collection['total'][$ss_player_id]['season'] = 'total';
|
||||
$collection['total'][$ss_player_id]['total_events']++;
|
||||
$collection['total'][$ss_player_id]['total_min'] += $minutes_played;
|
||||
$collection['total'][$ss_player_id]['average_min'] = round($collection['total'][$ss_player_id]['total_min'] / $collection['total'][$ss_player_id]['total_events']);
|
||||
$collection['total'][$ss_player_id]['goals'] += $val->goals;
|
||||
$collection['total'][$ss_player_id]['fouls'] += $val->fouls;
|
||||
$collection['total'][$ss_player_id]['cards'] += $cards;
|
||||
$collection['total'][$ss_player_id]['offsides'] += $val->offsides;
|
||||
$collection['total'][$ss_player_id]['shots_on_target'] += $val->shots_on_target;
|
||||
$collection['total'][$ss_player_id]['shots_off_target'] += $val->shots_off_target;
|
||||
$collection['total'][$ss_player_id]['shots_blocked'] += $val->shots_blocked;
|
||||
$collection['total'][$ss_player_id]['total_shots'] += $val->shots_on_target + $val->shots_off_target + $val->shots_blocked;
|
||||
|
||||
if ($last_180_days) {
|
||||
$collection['last_180_days'][$ss_player_id]['ss_player_id'] = $ss_player_id;
|
||||
// $collection['last_180_days'][$ss_player_id]['ss_team_id'] = $ss_team_id;
|
||||
$collection['last_180_days'][$ss_player_id]['season'] = 'last_180_days';
|
||||
$collection['last_180_days'][$ss_player_id]['total_events']++;
|
||||
$collection['last_180_days'][$ss_player_id]['total_min'] += $minutes_played;
|
||||
$collection['last_180_days'][$ss_player_id]['average_min'] = round($collection['last_180_days'][$ss_player_id]['total_min'] / $collection['last_180_days'][$ss_player_id]['total_events']);
|
||||
$collection['last_180_days'][$ss_player_id]['goals'] += $val->goals;
|
||||
$collection['last_180_days'][$ss_player_id]['fouls'] += $val->fouls;
|
||||
$collection['last_180_days'][$ss_player_id]['cards'] += $cards;
|
||||
$collection['last_180_days'][$ss_player_id]['offsides'] += $val->offsides;
|
||||
$collection['last_180_days'][$ss_player_id]['shots_on_target'] += $val->shots_on_target;
|
||||
$collection['last_180_days'][$ss_player_id]['shots_off_target'] += $val->shots_off_target;
|
||||
$collection['last_180_days'][$ss_player_id]['shots_blocked'] += $val->shots_blocked;
|
||||
$collection['last_180_days'][$ss_player_id]['total_shots'] += $val->shots_on_target + $val->shots_off_target + $val->shots_blocked;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$collection_1d = [];
|
||||
foreach ($collection as $arr) {
|
||||
foreach ($arr as $row) {
|
||||
$collection_1d[] = $row;
|
||||
}
|
||||
}
|
||||
|
||||
SofaScorePlayerPerSeason::upsert(
|
||||
$collection_1d,
|
||||
uniqueBy: [
|
||||
'ss_player_id',
|
||||
// 'ss_team_id',
|
||||
'season',
|
||||
],
|
||||
update: [
|
||||
'total_events',
|
||||
'total_min',
|
||||
'average_min',
|
||||
'events_played_home',
|
||||
'events_played_away',
|
||||
'minutes_played_home',
|
||||
'minutes_played_away',
|
||||
'goals',
|
||||
'fouls',
|
||||
'offsides',
|
||||
'shots_on_target',
|
||||
'shots_off_target',
|
||||
'shots_blocked',
|
||||
'total_shots',
|
||||
'cards',
|
||||
]
|
||||
);
|
||||
if ($this->debug) {
|
||||
echo '#';
|
||||
}
|
||||
});
|
||||
|
||||
$res = StatistikoPlayer::with('event')->with('details')->whereIn('ss_player_id', $chunk)->orderBy('ss_player_id')->get();
|
||||
|
||||
$collection = [];
|
||||
foreach ($res as $val) {
|
||||
|
||||
if (isset($val->event) && $val->ss_player_id != 0) {
|
||||
|
||||
$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($collection[$season][$ss_player_id])) {
|
||||
$this->array_template($collection, $ss_player_id, $season);
|
||||
}
|
||||
if (! isset($collection['total'][$ss_player_id])) {
|
||||
$this->array_template($collection, $ss_player_id, 'total');
|
||||
}
|
||||
if (! isset($collection['last_180_days'][$ss_player_id])) {
|
||||
$this->array_template($collection, $ss_player_id, 'last_180_days');
|
||||
}
|
||||
|
||||
if ($minutes_played > 0) {
|
||||
if ($activeteam_id == $home_id) {
|
||||
$collection[$season][$ss_player_id]['events_played_home'] += 1;
|
||||
$collection[$season][$ss_player_id]['minutes_played_home'] += $minutes_played;
|
||||
$collection['total'][$ss_player_id]['events_played_home'] += 1;
|
||||
$collection['total'][$ss_player_id]['minutes_played_home'] += $minutes_played;
|
||||
if ($last_180_days) {
|
||||
$collection['last_180_days'][$ss_player_id]['events_played_home'] += 1;
|
||||
$collection['last_180_days'][$ss_player_id]['minutes_played_home'] += $minutes_played;
|
||||
}
|
||||
} elseif ($activeteam_id == $away_id) {
|
||||
$collection[$season][$ss_player_id]['events_played_away'] += 1;
|
||||
$collection[$season][$ss_player_id]['minutes_played_away'] += $minutes_played;
|
||||
$collection['total'][$ss_player_id]['events_played_away'] += 1;
|
||||
$collection['total'][$ss_player_id]['minutes_played_away'] += $minutes_played;
|
||||
if ($last_180_days) {
|
||||
$collection['last_180_days'][$ss_player_id]['events_played_away'] += 1;
|
||||
$collection['last_180_days'][$ss_player_id]['minutes_played_away'] += $minutes_played;
|
||||
}
|
||||
|
||||
}
|
||||
// ubaldo 18. Sep 26 intanto vado avanti, appena trovo qwuaqlcosa ti scrivo, tu togli i red cards dal conteggio
|
||||
$cards = $val->card_yellow + $val->card_yellowred;
|
||||
|
||||
$collection[$season][$ss_player_id]['ss_player_id'] = $ss_player_id;
|
||||
$collection[$season][$ss_player_id]['season'] = $season;
|
||||
$collection[$season][$ss_player_id]['total_events']++;
|
||||
$collection[$season][$ss_player_id]['total_min'] += $minutes_played;
|
||||
$collection[$season][$ss_player_id]['average_min'] = round($collection[$season][$ss_player_id]['total_min'] / $collection[$season][$ss_player_id]['total_events']);
|
||||
$collection[$season][$ss_player_id]['goals'] += $val->goals;
|
||||
$collection[$season][$ss_player_id]['fouls'] += $val->fouls;
|
||||
$collection[$season][$ss_player_id]['cards'] += $cards;
|
||||
$collection[$season][$ss_player_id]['offsides'] += $val->offsides;
|
||||
$collection[$season][$ss_player_id]['shots_on_target'] += $val->shots_on_target;
|
||||
$collection[$season][$ss_player_id]['shots_off_target'] += $val->shots_off_target;
|
||||
$collection[$season][$ss_player_id]['shots_blocked'] += $val->shots_blocked;
|
||||
$collection[$season][$ss_player_id]['total_shots'] += $val->shots_on_target + $val->shots_off_target + $val->shots_blocked;
|
||||
|
||||
$collection['total'][$ss_player_id]['ss_player_id'] = $ss_player_id;
|
||||
$collection['total'][$ss_player_id]['season'] = 'total';
|
||||
$collection['total'][$ss_player_id]['total_events']++;
|
||||
$collection['total'][$ss_player_id]['total_min'] += $minutes_played;
|
||||
$collection['total'][$ss_player_id]['average_min'] = round($collection['total'][$ss_player_id]['total_min'] / $collection['total'][$ss_player_id]['total_events']);
|
||||
$collection['total'][$ss_player_id]['goals'] += $val->goals;
|
||||
$collection['total'][$ss_player_id]['fouls'] += $val->fouls;
|
||||
$collection['total'][$ss_player_id]['cards'] += $cards;
|
||||
$collection['total'][$ss_player_id]['offsides'] += $val->offsides;
|
||||
$collection['total'][$ss_player_id]['shots_on_target'] += $val->shots_on_target;
|
||||
$collection['total'][$ss_player_id]['shots_off_target'] += $val->shots_off_target;
|
||||
$collection['total'][$ss_player_id]['shots_blocked'] += $val->shots_blocked;
|
||||
$collection['total'][$ss_player_id]['total_shots'] += $val->shots_on_target + $val->shots_off_target + $val->shots_blocked;
|
||||
|
||||
if ($last_180_days) {
|
||||
$collection['last_180_days'][$ss_player_id]['ss_player_id'] = $ss_player_id;
|
||||
$collection['last_180_days'][$ss_player_id]['season'] = 'last_180_days';
|
||||
$collection['last_180_days'][$ss_player_id]['total_events']++;
|
||||
$collection['last_180_days'][$ss_player_id]['total_min'] += $minutes_played;
|
||||
$collection['last_180_days'][$ss_player_id]['average_min'] = round($collection['last_180_days'][$ss_player_id]['total_min'] / $collection['last_180_days'][$ss_player_id]['total_events']);
|
||||
$collection['last_180_days'][$ss_player_id]['goals'] += $val->goals;
|
||||
$collection['last_180_days'][$ss_player_id]['fouls'] += $val->fouls;
|
||||
$collection['last_180_days'][$ss_player_id]['cards'] += $cards;
|
||||
$collection['last_180_days'][$ss_player_id]['offsides'] += $val->offsides;
|
||||
$collection['last_180_days'][$ss_player_id]['shots_on_target'] += $val->shots_on_target;
|
||||
$collection['last_180_days'][$ss_player_id]['shots_off_target'] += $val->shots_off_target;
|
||||
$collection['last_180_days'][$ss_player_id]['shots_blocked'] += $val->shots_blocked;
|
||||
$collection['last_180_days'][$ss_player_id]['total_shots'] += $val->shots_on_target + $val->shots_off_target + $val->shots_blocked;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$collection_1d = [];
|
||||
foreach ($collection as $arr) {
|
||||
foreach ($arr as $row) {
|
||||
$collection_1d[] = $row;
|
||||
}
|
||||
}
|
||||
|
||||
// ALTER TABLE ss_player_seasons ADD UNIQUE KEY eindeutiger_index (ss_player_id, season);
|
||||
|
||||
SofaScorePlayerPerSeason::upsert(
|
||||
$collection_1d,
|
||||
uniqueBy: [
|
||||
'ss_player_id',
|
||||
'season',
|
||||
],
|
||||
update: [
|
||||
'total_events',
|
||||
'total_min',
|
||||
'average_min',
|
||||
'events_played_home',
|
||||
'events_played_away',
|
||||
'minutes_played_home',
|
||||
'minutes_played_away',
|
||||
'goals',
|
||||
'fouls',
|
||||
'offsides',
|
||||
'shots_on_target',
|
||||
'shots_off_target',
|
||||
'shots_blocked',
|
||||
'total_shots',
|
||||
'cards',
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
StatistikoPlayer::where('ss_player_id', 0)->delete();
|
||||
|
||||
// 1. Finde alle Kombinationen, die mehrfach existieren
|
||||
$duplicates = DB::table('ss_player_seasons')
|
||||
->select('season', 'ss_player_id', DB::raw('COUNT(*) as count'))
|
||||
->groupBy('season', 'ss_player_id')
|
||||
->having('count', '>', 1)
|
||||
->get();
|
||||
|
||||
// 2. Schleife durch die Duplikate und lösche die überschüssigen
|
||||
foreach ($duplicates as $duplicate) {
|
||||
// Hol dir alle IDs für diese spezifische Kombination, sortiert nach ID
|
||||
$ids = SofaScorePlayerPerSeason::where('season', $duplicate->season)
|
||||
->where('ss_player_id', $duplicate->ss_player_id)
|
||||
->orderBy('id', 'asc')
|
||||
->pluck('id');
|
||||
|
||||
// Behalte die erste ID (Index 0) und hole alle anderen
|
||||
$idsToDelete = $ids->slice(1);
|
||||
|
||||
// Lösche die überflüssigen IDs aus der Datenbank
|
||||
SofaScorePlayerPerSeason::whereIn('id', $idsToDelete)->delete();
|
||||
}
|
||||
|
||||
// Mail::to('hermann.telser@gmail.com')->send(new SimpleMail('STATISTIKO', 'Pre Calculation Completed'));
|
||||
Mail::to(['hermann.telser@gmail.com', 'ubaldo.perrucci@gmail.com'])->send(new SimpleMail('STATISTIKO', 'Pre Calculation Completed'));
|
||||
|
||||
// ######################
|
||||
// $res_player = StatistikoDetail::query()->where('is_active', 1)->limit($playerCount)->pluck('ss_player_id')->toArray();
|
||||
|
||||
// $chunks = array_chunk($res_player, 500);
|
||||
|
||||
// foreach ($chunks as $chunk) {
|
||||
|
||||
// $res = StatistikoPlayer::with('event')->with('details')->whereIn('ss_player_id', $chunk)->orderBy('ss_player_id')->get();
|
||||
|
||||
// $collection = [];
|
||||
// foreach ($res as $val) {
|
||||
|
||||
// if (isset($val->event)) {
|
||||
|
||||
// $ss_player_id = (int) $val->ss_player_id;
|
||||
// $activeteam_id = (int) $val->activeteam_id;
|
||||
// $minutes_played = (int) $val->minutes_played;
|
||||
// // $ss_team_id = (int) $val->details->ss_team_id;
|
||||
// $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($collection[$season][$ss_player_id])) {
|
||||
// $this->array_template($collection, $ss_player_id, $season);
|
||||
// }
|
||||
// if (! isset($collection['total'][$ss_player_id])) {
|
||||
// $this->array_template($collection, $ss_player_id, 'total');
|
||||
// }
|
||||
// if (! isset($collection['last_180_days'][$ss_player_id])) {
|
||||
// $this->array_template($collection, $ss_player_id, 'last_180_days');
|
||||
// }
|
||||
|
||||
// if ($minutes_played > 0) {
|
||||
// if ($activeteam_id == $home_id) {
|
||||
// $collection[$season][$ss_player_id]['events_played_home'] += 1;
|
||||
// $collection[$season][$ss_player_id]['minutes_played_home'] += $minutes_played;
|
||||
// $collection['total'][$ss_player_id]['events_played_home'] += 1;
|
||||
// $collection['total'][$ss_player_id]['minutes_played_home'] += $minutes_played;
|
||||
// if ($last_180_days) {
|
||||
// $collection['last_180_days'][$ss_player_id]['events_played_home'] += 1;
|
||||
// $collection['last_180_days'][$ss_player_id]['minutes_played_home'] += $minutes_played;
|
||||
// }
|
||||
// } elseif ($activeteam_id == $away_id) {
|
||||
// $collection[$season][$ss_player_id]['events_played_away'] += 1;
|
||||
// $collection[$season][$ss_player_id]['minutes_played_away'] += $minutes_played;
|
||||
// $collection['total'][$ss_player_id]['events_played_away'] += 1;
|
||||
// $collection['total'][$ss_player_id]['minutes_played_away'] += $minutes_played;
|
||||
// if ($last_180_days) {
|
||||
// $collection['last_180_days'][$ss_player_id]['events_played_away'] += 1;
|
||||
// $collection['last_180_days'][$ss_player_id]['minutes_played_away'] += $minutes_played;
|
||||
// }
|
||||
|
||||
// }
|
||||
// // ubaldo 18. Sep 26 intanto vado avanti, appena trovo qwuaqlcosa ti scrivo, tu togli i red cards dal conteggio
|
||||
// $cards = $val->card_yellow + $val->card_yellowred;
|
||||
|
||||
// $collection[$season][$ss_player_id]['ss_player_id'] = $ss_player_id;
|
||||
// // $collection[$season][$ss_player_id]['ss_team_id'] = $ss_team_id;
|
||||
// $collection[$season][$ss_player_id]['season'] = $season;
|
||||
// $collection[$season][$ss_player_id]['total_events']++;
|
||||
// $collection[$season][$ss_player_id]['total_min'] += $minutes_played;
|
||||
// $collection[$season][$ss_player_id]['average_min'] = round($collection[$season][$ss_player_id]['total_min'] / $collection[$season][$ss_player_id]['total_events']);
|
||||
// $collection[$season][$ss_player_id]['goals'] += $val->goals;
|
||||
// $collection[$season][$ss_player_id]['fouls'] += $val->fouls;
|
||||
// $collection[$season][$ss_player_id]['cards'] += $cards;
|
||||
// $collection[$season][$ss_player_id]['offsides'] += $val->offsides;
|
||||
// $collection[$season][$ss_player_id]['shots_on_target'] += $val->shots_on_target;
|
||||
// $collection[$season][$ss_player_id]['shots_off_target'] += $val->shots_off_target;
|
||||
// $collection[$season][$ss_player_id]['shots_blocked'] += $val->shots_blocked;
|
||||
// $collection[$season][$ss_player_id]['total_shots'] += $val->shots_on_target + $val->shots_off_target + $val->shots_blocked;
|
||||
|
||||
// $collection['total'][$ss_player_id]['ss_player_id'] = $ss_player_id;
|
||||
// // $collection['total'][$ss_player_id]['ss_team_id'] = $ss_team_id;
|
||||
// $collection['total'][$ss_player_id]['season'] = 'total';
|
||||
// $collection['total'][$ss_player_id]['total_events']++;
|
||||
// $collection['total'][$ss_player_id]['total_min'] += $minutes_played;
|
||||
// $collection['total'][$ss_player_id]['average_min'] = round($collection['total'][$ss_player_id]['total_min'] / $collection['total'][$ss_player_id]['total_events']);
|
||||
// $collection['total'][$ss_player_id]['goals'] += $val->goals;
|
||||
// $collection['total'][$ss_player_id]['fouls'] += $val->fouls;
|
||||
// $collection['total'][$ss_player_id]['cards'] += $cards;
|
||||
// $collection['total'][$ss_player_id]['offsides'] += $val->offsides;
|
||||
// $collection['total'][$ss_player_id]['shots_on_target'] += $val->shots_on_target;
|
||||
// $collection['total'][$ss_player_id]['shots_off_target'] += $val->shots_off_target;
|
||||
// $collection['total'][$ss_player_id]['shots_blocked'] += $val->shots_blocked;
|
||||
// $collection['total'][$ss_player_id]['total_shots'] += $val->shots_on_target + $val->shots_off_target + $val->shots_blocked;
|
||||
|
||||
// if ($last_180_days) {
|
||||
// $collection['last_180_days'][$ss_player_id]['ss_player_id'] = $ss_player_id;
|
||||
// // $collection['last_180_days'][$ss_player_id]['ss_team_id'] = $ss_team_id;
|
||||
// $collection['last_180_days'][$ss_player_id]['season'] = 'last_180_days';
|
||||
// $collection['last_180_days'][$ss_player_id]['total_events']++;
|
||||
// $collection['last_180_days'][$ss_player_id]['total_min'] += $minutes_played;
|
||||
// $collection['last_180_days'][$ss_player_id]['average_min'] = round($collection['last_180_days'][$ss_player_id]['total_min'] / $collection['last_180_days'][$ss_player_id]['total_events']);
|
||||
// $collection['last_180_days'][$ss_player_id]['goals'] += $val->goals;
|
||||
// $collection['last_180_days'][$ss_player_id]['fouls'] += $val->fouls;
|
||||
// $collection['last_180_days'][$ss_player_id]['cards'] += $cards;
|
||||
// $collection['last_180_days'][$ss_player_id]['offsides'] += $val->offsides;
|
||||
// $collection['last_180_days'][$ss_player_id]['shots_on_target'] += $val->shots_on_target;
|
||||
// $collection['last_180_days'][$ss_player_id]['shots_off_target'] += $val->shots_off_target;
|
||||
// $collection['last_180_days'][$ss_player_id]['shots_blocked'] += $val->shots_blocked;
|
||||
// $collection['last_180_days'][$ss_player_id]['total_shots'] += $val->shots_on_target + $val->shots_off_target + $val->shots_blocked;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
// $collection_1d = [];
|
||||
// foreach ($collection as $arr) {
|
||||
// foreach ($arr as $row) {
|
||||
// $collection_1d[] = $row;
|
||||
// }
|
||||
// }
|
||||
|
||||
// SofaScorePlayerPerSeason::upsert(
|
||||
// $collection_1d,
|
||||
// uniqueBy: [
|
||||
// 'ss_player_id',
|
||||
// // 'ss_team_id',
|
||||
// 'season',
|
||||
// ],
|
||||
// update: [
|
||||
// 'total_events',
|
||||
// 'total_min',
|
||||
// 'average_min',
|
||||
// 'events_played_home',
|
||||
// 'events_played_away',
|
||||
// 'minutes_played_home',
|
||||
// 'minutes_played_away',
|
||||
// 'goals',
|
||||
// 'fouls',
|
||||
// 'offsides',
|
||||
// 'shots_on_target',
|
||||
// 'shots_off_target',
|
||||
// 'shots_blocked',
|
||||
// 'total_shots',
|
||||
// 'cards',
|
||||
// ]
|
||||
// );
|
||||
// }
|
||||
}
|
||||
|
||||
private function array_template(array &$collection, int $ss_player_id, string $season)
|
||||
{
|
||||
$collection[$season][$ss_player_id]['ss_player_id'] = 0;
|
||||
$collection[$season][$ss_player_id]['ss_team_id'] = 0;
|
||||
$collection[$season][$ss_player_id]['season'] = '';
|
||||
$collection[$season][$ss_player_id]['total_events'] = 0;
|
||||
$collection[$season][$ss_player_id]['total_min'] = 0;
|
||||
|
||||
Reference in new issue
Block a user