62 lines
2.7 KiB
PHP
62 lines
2.7 KiB
PHP
<?php
|
|
|
|
namespace App\Filament\Widgets\Boxes;
|
|
|
|
use App\Filament\Pages\Selections\Helper\GetSeason;
|
|
use App\Filament\Widgets\Boxes\Helper\ExpectationAverage;
|
|
use App\Models\StatistikoEvent;
|
|
|
|
class AverageLeagueSeason
|
|
{
|
|
/**
|
|
* BOX 6 - AVERAGE ALL LEAGUE FIXED TO ACTIVE SEASON
|
|
*
|
|
* @return void
|
|
*/
|
|
public static function load(array &$expectations, array $filter)
|
|
{
|
|
$tournament_id = (int) $filter['league_id'] ?? 0;
|
|
$seasonmode = $filter['seasonmode'];
|
|
$active_season = GetSeason::active($seasonmode);
|
|
|
|
$res = StatistikoEvent::where('league_id', $tournament_id)
|
|
->when($active_season, function ($query) use ($active_season) {
|
|
return $query->where('season', $active_season);
|
|
})->get();
|
|
|
|
$result = [];
|
|
if ($res) {
|
|
foreach ($res as $val) {
|
|
ExpectationAverage::filter($result, 'liga', 'gls', $val->gls_h, $val->gls_a);
|
|
ExpectationAverage::filter($result, 'liga', 'crn', $val->crn_h, $val->crn_a);
|
|
ExpectationAverage::filter($result, 'liga', 'fls', $val->fls_h, $val->fls_a);
|
|
ExpectationAverage::filter($result, 'liga', 'ofs', $val->ofs_h, $val->ofs_a);
|
|
ExpectationAverage::filter($result, 'liga', 'crd', $val->crd_h, $val->crd_a);
|
|
ExpectationAverage::filter($result, 'liga', 'snt', $val->snt_h, $val->snt_a);
|
|
ExpectationAverage::filter($result, 'liga', 'tsh', $val->tsh_h, $val->tsh_a);
|
|
}
|
|
|
|
$bets = ['gls', 'crn', 'fls', 'ofs', 'crd', 'snt', 'tsh'];
|
|
if ($result) {
|
|
foreach ($bets as $bet) {
|
|
$expectations[$bet.'_liga_season']['home'] = round(array_sum($result['liga'][$bet]['home']) / \count($result['liga'][$bet]['home']), 1);
|
|
$expectations[$bet.'_liga_season']['away'] = round(array_sum($result['liga'][$bet]['away']) / \count($result['liga'][$bet]['away']), 1);
|
|
}
|
|
} else {
|
|
foreach ($bets as $bet) {
|
|
$expectations[$bet.'_liga_season']['home'] = 0;
|
|
$expectations[$bet.'_liga_season']['away'] = 0;
|
|
}
|
|
}
|
|
$expectations['gls_liga_season']['name'] = 'Goals';
|
|
$expectations['crn_liga_season']['name'] = 'Corner';
|
|
$expectations['fls_liga_season']['name'] = 'Fouls';
|
|
$expectations['ofs_liga_season']['name'] = 'Offsides';
|
|
$expectations['crd_liga_season']['name'] = 'Cards';
|
|
$expectations['snt_liga_season']['name'] = 'Shots on Target';
|
|
$expectations['tsh_liga_season']['name'] = 'Total Shots';
|
|
$expectations['active_season'] = $active_season;
|
|
}
|
|
}
|
|
}
|