248 lines
12 KiB
PHP
248 lines
12 KiB
PHP
<?php
|
|
|
|
namespace App\Filament\Widgets\PlayerProps;
|
|
|
|
use App\Models\StatisticFixtures;
|
|
use App\Models\StatistikoEvent;
|
|
|
|
class Expectations
|
|
{
|
|
public static function load(StatisticFixtures $match)
|
|
{
|
|
$home_id = $match->home_id;
|
|
$away_id = $match->away_id;
|
|
$data = StatistikoEvent::where(function ($query) use ($home_id, $away_id) {
|
|
return $query->whereIn('home_id', [$home_id, $away_id])->orWhereIn('away_id', [$home_id, $away_id]);
|
|
})->get();
|
|
|
|
$work = [];
|
|
$bettypes = ['gls', 'fls', 'crn', 'ofs', 'crd', 'snt', 'tsh'];
|
|
foreach ($data as $value) {
|
|
foreach ($bettypes as $type) {
|
|
if ($value['home_id'] == $home_id) {
|
|
$work[$type]['home_made_total'][] = $value[$type.'_h'];
|
|
$work[$type]['home_made_home'][] = $value[$type.'_h'];
|
|
$work[$type]['home_got_total'][] = $value[$type.'_a'];
|
|
$work[$type]['home_got_home'][] = $value[$type.'_a'];
|
|
} elseif ($value['away_id'] == $home_id) {
|
|
$work[$type]['home_made_total'][] = $value[$type.'_a'];
|
|
$work[$type]['home_got_total'][] = $value[$type.'_a'];
|
|
} elseif ($value['home_id'] == $away_id) {
|
|
$work[$type]['home_made_total'][] = $value[$type.'_a'];
|
|
$work[$type]['home_got_total'][] = $value[$type.'_a'];
|
|
} elseif ($value['away_id'] == $away_id) {
|
|
$work[$type]['home_made_total'][] = $value[$type.'_h'];
|
|
$work[$type]['home_made_home'][] = $value[$type.'_h'];
|
|
$work[$type]['home_got_total'][] = $value[$type.'_a'];
|
|
$work[$type]['home_got_home'][] = $value[$type.'_h'];
|
|
}
|
|
|
|
if ($value['away_id'] == $away_id) {
|
|
$work[$type]['away_made_total'][] = $value[$type.'_a'];
|
|
$work[$type]['away_made_away'][] = $value[$type.'_a'];
|
|
$work[$type]['away_got_total'][] = $value[$type.'_h'];
|
|
$work[$type]['away_got_away'][] = $value[$type.'_a'];
|
|
} elseif ($value['away_id'] == $home_id) {
|
|
$work[$type]['away_made_total'][] = $value[$type.'_h'];
|
|
$work[$type]['away_got_total'][] = $value[$type.'_h'];
|
|
} elseif ($value['home_id'] == $away_id) {
|
|
$work[$type]['away_made_total'][] = $value[$type.'_h'];
|
|
$work[$type]['away_got_total'][] = $value[$type.'_h'];
|
|
} elseif ($value['away_id'] == $away_id) {
|
|
$work[$type]['away_made_total'][] = $value[$type.'_a'];
|
|
$work[$type]['away_made_away'][] = $value[$type.'_a'];
|
|
$work[$type]['away_got_total'][] = $value[$type.'_h'];
|
|
$work[$type]['away_got_away'][] = $value[$type.'_a'];
|
|
}
|
|
}
|
|
}
|
|
|
|
$num_home_crd = 0;
|
|
$num_away_crd = 0;
|
|
$num_home_gls = 0;
|
|
$num_away_gls = 0;
|
|
$num_home_fls = 0;
|
|
$num_away_fls = 0;
|
|
$num_home_ofs = 0;
|
|
$num_away_ofs = 0;
|
|
$num_home_snt = 0;
|
|
$num_away_snt = 0;
|
|
$num_home_tsh = 0;
|
|
$num_away_tsh = 0;
|
|
|
|
$bettypes = ['gls', 'crd', 'fls', 'ofs', 'snt', 'tsh'];
|
|
|
|
foreach ($work as $type => $value) {
|
|
switch ($type) {
|
|
case 'gls':
|
|
$sum_home_gls = array_sum($value['home_made_total']);
|
|
$num_home_gls = \count($value['home_made_total']);
|
|
|
|
$sum_home_gls += array_sum($value['home_made_home']);
|
|
$num_home_gls += \count($value['home_made_home']);
|
|
|
|
$sum_home_gls += array_sum($value['home_got_total']);
|
|
$num_home_gls += \count($value['home_got_total']);
|
|
|
|
$sum_home_gls += array_sum($value['home_got_home']);
|
|
$num_home_gls += \count($value['home_got_home']);
|
|
|
|
$sum_away_gls = array_sum($value['away_made_total']);
|
|
$num_away_gls = \count($value['away_made_total']);
|
|
|
|
$sum_away_gls += array_sum($value['away_made_away']);
|
|
$num_away_gls += \count($value['away_made_away']);
|
|
|
|
$sum_away_gls += array_sum($value['away_got_total']);
|
|
$num_away_gls += \count($value['away_got_total']);
|
|
|
|
$sum_away_gls += array_sum($value['away_got_away']);
|
|
$num_away_gls += \count($value['away_got_away']);
|
|
break;
|
|
case 'crd':
|
|
$sum_home_crd = array_sum($value['home_made_total']);
|
|
$num_home_crd = \count($value['home_made_total']);
|
|
|
|
$sum_home_crd += array_sum($value['home_made_home']);
|
|
$num_home_crd += \count($value['home_made_home']);
|
|
|
|
$sum_home_crd += array_sum($value['home_got_total']);
|
|
$num_home_crd += \count($value['home_got_total']);
|
|
|
|
$sum_home_crd += array_sum($value['home_got_home']);
|
|
$num_home_crd += \count($value['home_got_home']);
|
|
|
|
$sum_away_crd = array_sum($value['away_made_total']);
|
|
$num_away_crd = \count($value['away_made_total']);
|
|
|
|
$sum_away_crd += array_sum($value['away_made_away']);
|
|
$num_away_crd += \count($value['away_made_away']);
|
|
|
|
$sum_away_crd += array_sum($value['away_got_total']);
|
|
$num_away_crd += \count($value['away_got_total']);
|
|
|
|
$sum_away_crd += array_sum($value['away_got_away']);
|
|
$num_away_crd += \count($value['away_got_away']);
|
|
break;
|
|
case 'fls':
|
|
$sum_home_fls = array_sum($value['home_made_total']);
|
|
$num_home_fls = \count($value['home_made_total']);
|
|
|
|
$sum_home_fls += array_sum($value['home_made_home']);
|
|
$num_home_fls += \count($value['home_made_home']);
|
|
|
|
$sum_home_fls += array_sum($value['home_got_total']);
|
|
$num_home_fls += \count($value['home_got_total']);
|
|
|
|
$sum_home_fls += array_sum($value['home_got_home']);
|
|
$num_home_fls += \count($value['home_got_home']);
|
|
|
|
$sum_away_fls = array_sum($value['away_made_total']);
|
|
$num_away_fls = \count($value['away_made_total']);
|
|
|
|
$sum_away_fls += array_sum($value['away_made_away']);
|
|
$num_away_fls += \count($value['away_made_away']);
|
|
|
|
$sum_away_fls += array_sum($value['away_got_total']);
|
|
$num_away_fls += \count($value['away_got_total']);
|
|
|
|
$sum_away_fls += array_sum($value['away_got_away']);
|
|
$num_away_fls += \count($value['away_got_away']);
|
|
break;
|
|
case 'ofs':
|
|
$sum_home_ofs = array_sum($value['home_made_total']);
|
|
$num_home_ofs = \count($value['home_made_total']);
|
|
|
|
$sum_home_ofs += array_sum($value['home_made_home']);
|
|
$num_home_ofs += \count($value['home_made_home']);
|
|
|
|
$sum_home_ofs += array_sum($value['home_got_total']);
|
|
$num_home_ofs += \count($value['home_got_total']);
|
|
|
|
$sum_home_ofs += array_sum($value['home_got_home']);
|
|
$num_home_ofs += \count($value['home_got_home']);
|
|
|
|
$sum_away_ofs = array_sum($value['away_made_total']);
|
|
$num_away_ofs = \count($value['away_made_total']);
|
|
|
|
$sum_away_ofs += array_sum($value['away_made_away']);
|
|
$num_away_ofs += \count($value['away_made_away']);
|
|
|
|
$sum_away_ofs += array_sum($value['away_got_total']);
|
|
$num_away_ofs += \count($value['away_got_total']);
|
|
|
|
$sum_away_ofs += array_sum($value['away_got_away']);
|
|
$num_away_ofs += \count($value['away_got_away']);
|
|
break;
|
|
case 'snt':
|
|
$sum_home_snt = array_sum($value['home_made_total']);
|
|
$num_home_snt = \count($value['home_made_total']);
|
|
|
|
$sum_home_snt += array_sum($value['home_made_home']);
|
|
$num_home_snt += \count($value['home_made_home']);
|
|
|
|
$sum_home_snt += array_sum($value['home_got_total']);
|
|
$num_home_snt += \count($value['home_got_total']);
|
|
|
|
$sum_home_snt += array_sum($value['home_got_home']);
|
|
$num_home_snt += \count($value['home_got_home']);
|
|
|
|
$sum_away_snt = array_sum($value['away_made_total']);
|
|
$num_away_snt = \count($value['away_made_total']);
|
|
|
|
$sum_away_snt += array_sum($value['away_made_away']);
|
|
$num_away_snt += \count($value['away_made_away']);
|
|
|
|
$sum_away_snt += array_sum($value['away_got_total']);
|
|
$num_away_snt += \count($value['away_got_total']);
|
|
|
|
$sum_away_snt += array_sum($value['away_got_away']);
|
|
$num_away_snt += \count($value['away_got_away']);
|
|
break;
|
|
case 'tsh':
|
|
$sum_home_tsh = array_sum($value['home_made_total']);
|
|
$num_home_tsh = \count($value['home_made_total']);
|
|
|
|
$sum_home_tsh += array_sum($value['home_made_home']);
|
|
$num_home_tsh += \count($value['home_made_home']);
|
|
|
|
$sum_home_tsh += array_sum($value['home_got_total']);
|
|
$num_home_tsh += \count($value['home_got_total']);
|
|
|
|
$sum_home_tsh += array_sum($value['home_got_home']);
|
|
$num_home_tsh += \count($value['home_got_home']);
|
|
|
|
$sum_away_tsh = array_sum($value['away_made_total']);
|
|
$num_away_tsh = \count($value['away_made_total']);
|
|
|
|
$sum_away_tsh += array_sum($value['away_made_away']);
|
|
$num_away_tsh += \count($value['away_made_away']);
|
|
|
|
$sum_away_tsh += array_sum($value['away_got_total']);
|
|
$num_away_tsh += \count($value['away_got_total']);
|
|
|
|
$sum_away_tsh += array_sum($value['away_got_away']);
|
|
$num_away_tsh += \count($value['away_got_away']);
|
|
break;
|
|
}
|
|
}
|
|
|
|
$aspettativa = [];
|
|
$aspettativa['home']['gls'] = round($sum_home_gls / $num_home_gls, 1);
|
|
$aspettativa['home']['crd'] = round($sum_home_crd / $num_home_crd, 1);
|
|
$aspettativa['home']['fls'] = round($sum_home_fls / $num_home_fls, 1);
|
|
$aspettativa['home']['ofs'] = round($sum_home_ofs / $num_home_ofs, 1);
|
|
$aspettativa['home']['snt'] = round($sum_home_snt / $num_home_snt, 1);
|
|
$aspettativa['home']['tsh'] = round($sum_home_tsh / $num_home_tsh, 1);
|
|
|
|
$aspettativa['away']['gls'] = round($sum_away_gls / $sum_away_gls, 1);
|
|
$aspettativa['away']['crd'] = round($sum_away_crd / $num_away_crd, 1);
|
|
$aspettativa['away']['fls'] = round($sum_away_fls / $num_away_fls, 1);
|
|
$aspettativa['away']['ofs'] = round($sum_away_ofs / $num_away_ofs, 1);
|
|
$aspettativa['away']['snt'] = round($sum_away_snt / $num_away_snt, 1);
|
|
$aspettativa['away']['tsh'] = round($sum_away_tsh / $num_away_tsh, 1);
|
|
|
|
return $aspettativa;
|
|
}
|
|
}
|