70 lines
1.9 KiB
PHP
70 lines
1.9 KiB
PHP
<?php
|
|
|
|
namespace App\Filament\Widgets\Boxes;
|
|
|
|
use App\Models\StatisticFixtures;
|
|
|
|
class LoadEventsBoxes
|
|
{
|
|
public static function load(array $filter, bool $hasdots)
|
|
{
|
|
$league_id = (int) $filter['league_id'] ?? 0;
|
|
$match_id = (int) $filter['match_id'] ?? 0;
|
|
$team_id = (int) $filter['team_id'] ?? 0;
|
|
$similar_past_matches = $filter['similar_past_matches'];
|
|
|
|
if (! $league_id) {
|
|
return [];
|
|
}
|
|
if (! $match_id) {
|
|
return [];
|
|
}
|
|
|
|
$match = StatisticFixtures::with('home')->with('away')->where('id', (int) $match_id)->first();
|
|
|
|
if (! $match) {
|
|
return [];
|
|
}
|
|
|
|
$expectations = self::template();
|
|
|
|
ExpectationsTeam::load($expectations, $filter, $match);
|
|
|
|
if ($team_id == $match->home_id) {
|
|
$expectations['active_team'] = $match->home->ss_team_name;
|
|
} else {
|
|
$expectations['active_team'] = $match->away->ss_team_name;
|
|
}
|
|
|
|
/**
|
|
* LEAGUE AVERAGES
|
|
*/
|
|
if ($team_id != 0 && $similar_past_matches == 'none') {
|
|
AverageTeam::load($expectations, $filter);
|
|
AverageTeamSeason::load($expectations, $filter, $match);
|
|
AverageLeagueSeason::load($expectations, $filter);
|
|
}
|
|
|
|
return $expectations;
|
|
}
|
|
|
|
public static function template()
|
|
{
|
|
$arr = [];
|
|
$bets = ['gls', 'crn', 'fls', 'ofs', 'crd', 'snt', 'tsh'];
|
|
foreach ($bets as $bet) {
|
|
foreach (['team_home', 'team_away'] as $team) {
|
|
foreach (['scored', 'conceded'] as $sc) {
|
|
foreach (['home', 'away'] as $ha) {
|
|
foreach (['evt', 'sum'] as $es) {
|
|
$arr[$bet][$team][$sc][$ha][$es] = 0;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
return $arr;
|
|
}
|
|
}
|