run precalculation via action puntton with quer:work, send mail when finished
This commit is contained in:
1 parent
7fc0e2e029
commit
5503dc7ba0
2 files changed
+280
-137
No files matched your search
+1
-6
@@ -10,7 +10,6 @@ use Filament\Actions\CreateAction;
|
|||||||
use Filament\Notifications\Notification;
|
use Filament\Notifications\Notification;
|
||||||
use Filament\Resources\Pages\ListRecords;
|
use Filament\Resources\Pages\ListRecords;
|
||||||
use Illuminate\Support\Facades\Artisan;
|
use Illuminate\Support\Facades\Artisan;
|
||||||
use Illuminate\Support\Facades\Auth;
|
|
||||||
use Illuminate\Support\Facades\File;
|
use Illuminate\Support\Facades\File;
|
||||||
|
|
||||||
class ListStatistikoImports extends ListRecords
|
class ListStatistikoImports extends ListRecords
|
||||||
@@ -25,12 +24,8 @@ class ListStatistikoImports extends ListRecords
|
|||||||
->requiresConfirmation() // Optional: Asks user before running
|
->requiresConfirmation() // Optional: Asks user before running
|
||||||
->action(function () {
|
->action(function () {
|
||||||
// Run the console command
|
// Run the console command
|
||||||
/** @var User|null $user */
|
|
||||||
$user = Auth::user();
|
|
||||||
|
|
||||||
Artisan::queue('update:player', [
|
Artisan::queue('update:player');
|
||||||
'--userId' => $user->id(),
|
|
||||||
]);
|
|
||||||
|
|
||||||
// Notify the user of success
|
// Notify the user of success
|
||||||
Notification::make()
|
Notification::make()
|
||||||
|
|||||||
+279
-131
@@ -2,11 +2,13 @@
|
|||||||
|
|
||||||
namespace App\Traits;
|
namespace App\Traits;
|
||||||
|
|
||||||
|
use App\Mail\SimpleMail;
|
||||||
use App\Models\SofaScorePlayerPerSeason;
|
use App\Models\SofaScorePlayerPerSeason;
|
||||||
use App\Models\StatistikoDetail;
|
use App\Models\StatistikoDetail;
|
||||||
use App\Models\StatistikoPlayer;
|
use App\Models\StatistikoPlayer;
|
||||||
use App\Utilities\Notice;
|
use App\Utilities\Notice;
|
||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
|
use Illuminate\Support\Facades\Mail;
|
||||||
use Illuminate\Support\Str;
|
use Illuminate\Support\Str;
|
||||||
|
|
||||||
use function Laravel\Prompts\select;
|
use function Laravel\Prompts\select;
|
||||||
@@ -114,151 +116,297 @@ trait UpdateHelper
|
|||||||
|
|
||||||
protected function updatePlayers(int $playerCount)
|
protected function updatePlayers(int $playerCount)
|
||||||
{
|
{
|
||||||
$res_player = StatistikoDetail::query()->where('is_active', 1)->limit($playerCount)->pluck('ss_player_id')->toArray();
|
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();
|
||||||
|
|
||||||
$chunks = array_chunk($res_player, 500);
|
$collection = [];
|
||||||
|
foreach ($res as $val) {
|
||||||
|
|
||||||
foreach ($chunks as $chunk) {
|
if (isset($val->event)) {
|
||||||
|
|
||||||
$res = StatistikoPlayer::with('event')->with('details')->whereIn('ss_player_id', $chunk)->orderBy('ss_player_id')->get();
|
$ss_player_id = (int) $val->ss_player_id;
|
||||||
|
$activeteam_id = (int) $val->activeteam_id;
|
||||||
$collection = [];
|
$minutes_played = (int) $val->minutes_played;
|
||||||
foreach ($res as $val) {
|
// $ss_team_id = (int) $val->details->ss_team_id;
|
||||||
|
$season = $val->event->season;
|
||||||
if (isset($val->event)) {
|
$home_id = (int) $val->event->home_id;
|
||||||
|
$away_id = (int) $val->event->away_id;
|
||||||
$ss_player_id = (int) $val->ss_player_id;
|
$startime = $val->event->starttime;
|
||||||
$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;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
if ($startime->greaterThan(now()->subDays(180))) {
|
||||||
|
$last_180_days = true;
|
||||||
|
} else {
|
||||||
|
$last_180_days = false;
|
||||||
}
|
}
|
||||||
// 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;
|
if (! isset($collection[$season][$ss_player_id])) {
|
||||||
// $collection[$season][$ss_player_id]['ss_team_id'] = $ss_team_id;
|
$this->array_template($collection, $ss_player_id, $season);
|
||||||
$collection[$season][$ss_player_id]['season'] = $season;
|
}
|
||||||
$collection[$season][$ss_player_id]['total_events']++;
|
if (! isset($collection['total'][$ss_player_id])) {
|
||||||
$collection[$season][$ss_player_id]['total_min'] += $minutes_played;
|
$this->array_template($collection, $ss_player_id, 'total');
|
||||||
$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;
|
if (! isset($collection['last_180_days'][$ss_player_id])) {
|
||||||
$collection[$season][$ss_player_id]['fouls'] += $val->fouls;
|
$this->array_template($collection, $ss_player_id, 'last_180_days');
|
||||||
$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;
|
if ($minutes_played > 0) {
|
||||||
// $collection['total'][$ss_player_id]['ss_team_id'] = $ss_team_id;
|
if ($activeteam_id == $home_id) {
|
||||||
$collection['total'][$ss_player_id]['season'] = 'total';
|
$collection[$season][$ss_player_id]['events_played_home'] += 1;
|
||||||
$collection['total'][$ss_player_id]['total_events']++;
|
$collection[$season][$ss_player_id]['minutes_played_home'] += $minutes_played;
|
||||||
$collection['total'][$ss_player_id]['total_min'] += $minutes_played;
|
$collection['total'][$ss_player_id]['events_played_home'] += 1;
|
||||||
$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]['minutes_played_home'] += $minutes_played;
|
||||||
$collection['total'][$ss_player_id]['goals'] += $val->goals;
|
if ($last_180_days) {
|
||||||
$collection['total'][$ss_player_id]['fouls'] += $val->fouls;
|
$collection['last_180_days'][$ss_player_id]['events_played_home'] += 1;
|
||||||
$collection['total'][$ss_player_id]['cards'] += $cards;
|
$collection['last_180_days'][$ss_player_id]['minutes_played_home'] += $minutes_played;
|
||||||
$collection['total'][$ss_player_id]['offsides'] += $val->offsides;
|
}
|
||||||
$collection['total'][$ss_player_id]['shots_on_target'] += $val->shots_on_target;
|
} elseif ($activeteam_id == $away_id) {
|
||||||
$collection['total'][$ss_player_id]['shots_off_target'] += $val->shots_off_target;
|
$collection[$season][$ss_player_id]['events_played_away'] += 1;
|
||||||
$collection['total'][$ss_player_id]['shots_blocked'] += $val->shots_blocked;
|
$collection[$season][$ss_player_id]['minutes_played_away'] += $minutes_played;
|
||||||
$collection['total'][$ss_player_id]['total_shots'] += $val->shots_on_target + $val->shots_off_target + $val->shots_blocked;
|
$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;
|
||||||
|
}
|
||||||
|
|
||||||
if ($last_180_days) {
|
}
|
||||||
$collection['last_180_days'][$ss_player_id]['ss_player_id'] = $ss_player_id;
|
// ubaldo 18. Sep 26 intanto vado avanti, appena trovo qwuaqlcosa ti scrivo, tu togli i red cards dal conteggio
|
||||||
// $collection['last_180_days'][$ss_player_id]['ss_team_id'] = $ss_team_id;
|
$cards = $val->card_yellow + $val->card_yellowred;
|
||||||
$collection['last_180_days'][$ss_player_id]['season'] = 'last_180_days';
|
|
||||||
$collection['last_180_days'][$ss_player_id]['total_events']++;
|
$collection[$season][$ss_player_id]['ss_player_id'] = $ss_player_id;
|
||||||
$collection['last_180_days'][$ss_player_id]['total_min'] += $minutes_played;
|
// $collection[$season][$ss_player_id]['ss_team_id'] = $ss_team_id;
|
||||||
$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[$season][$ss_player_id]['season'] = $season;
|
||||||
$collection['last_180_days'][$ss_player_id]['goals'] += $val->goals;
|
$collection[$season][$ss_player_id]['total_events']++;
|
||||||
$collection['last_180_days'][$ss_player_id]['fouls'] += $val->fouls;
|
$collection[$season][$ss_player_id]['total_min'] += $minutes_played;
|
||||||
$collection['last_180_days'][$ss_player_id]['cards'] += $cards;
|
$collection[$season][$ss_player_id]['average_min'] = round($collection[$season][$ss_player_id]['total_min'] / $collection[$season][$ss_player_id]['total_events']);
|
||||||
$collection['last_180_days'][$ss_player_id]['offsides'] += $val->offsides;
|
$collection[$season][$ss_player_id]['goals'] += $val->goals;
|
||||||
$collection['last_180_days'][$ss_player_id]['shots_on_target'] += $val->shots_on_target;
|
$collection[$season][$ss_player_id]['fouls'] += $val->fouls;
|
||||||
$collection['last_180_days'][$ss_player_id]['shots_off_target'] += $val->shots_off_target;
|
$collection[$season][$ss_player_id]['cards'] += $cards;
|
||||||
$collection['last_180_days'][$ss_player_id]['shots_blocked'] += $val->shots_blocked;
|
$collection[$season][$ss_player_id]['offsides'] += $val->offsides;
|
||||||
$collection['last_180_days'][$ss_player_id]['total_shots'] += $val->shots_on_target + $val->shots_off_target + $val->shots_blocked;
|
$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 = [];
|
$collection_1d = [];
|
||||||
foreach ($collection as $arr) {
|
foreach ($collection as $arr) {
|
||||||
foreach ($arr as $row) {
|
foreach ($arr as $row) {
|
||||||
$collection_1d[] = $row;
|
$collection_1d[] = $row;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
SofaScorePlayerPerSeason::upsert(
|
SofaScorePlayerPerSeason::upsert(
|
||||||
$collection_1d,
|
$collection_1d,
|
||||||
uniqueBy: [
|
uniqueBy: [
|
||||||
'ss_player_id',
|
'ss_player_id',
|
||||||
// 'ss_team_id',
|
// 'ss_team_id',
|
||||||
'season',
|
'season',
|
||||||
],
|
],
|
||||||
update: [
|
update: [
|
||||||
'total_events',
|
'total_events',
|
||||||
'total_min',
|
'total_min',
|
||||||
'average_min',
|
'average_min',
|
||||||
'events_played_home',
|
'events_played_home',
|
||||||
'events_played_away',
|
'events_played_away',
|
||||||
'minutes_played_home',
|
'minutes_played_home',
|
||||||
'minutes_played_away',
|
'minutes_played_away',
|
||||||
'goals',
|
'goals',
|
||||||
'fouls',
|
'fouls',
|
||||||
'offsides',
|
'offsides',
|
||||||
'shots_on_target',
|
'shots_on_target',
|
||||||
'shots_off_target',
|
'shots_off_target',
|
||||||
'shots_blocked',
|
'shots_blocked',
|
||||||
'total_shots',
|
'total_shots',
|
||||||
'cards',
|
'cards',
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
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)
|
private function array_template(array &$collection, int $ss_player_id, string $season)
|
||||||
|
|||||||
Reference in new issue
Block a user