when($active_season, function ($query) use ($active_season) { return $query->where('season', $active_season); })->when($team_id, function ($query) use ($team_id) { return $query->orWhere('home_id', $team_id)->orWhere('away_id', '=', $team_id); })->get(); if ($res) { $result = []; foreach ($res as $val) { ExpectationAverage::filter($result, 'team', 'gls', $val->gls_a, $val->gls_h); ExpectationAverage::filter($result, 'team', 'crn', $val->crn_a, $val->crn_h); ExpectationAverage::filter($result, 'team', 'fls', $val->fls_a, $val->fls_h); ExpectationAverage::filter($result, 'team', 'ofs', $val->ofs_a, $val->ofs_h); ExpectationAverage::filter($result, 'team', 'crd', $val->crd_a, $val->crd_h); ExpectationAverage::filter($result, 'team', 'snt', $val->snt_a, $val->snt_h); ExpectationAverage::filter($result, 'team', 'tsh', $val->tsh_a, $val->tsh_h); } $bets = ['gls', 'crn', 'fls', 'ofs', 'crd', 'snt', 'tsh']; if ($result) { foreach ($bets as $bet) { $expectations[$bet.'_team_season']['home'] = round(array_sum($result['team'][$bet]['home']) / \count($result['team'][$bet]['home']), 1); $expectations[$bet.'_team_season']['away'] = round(array_sum($result['team'][$bet]['away']) / \count($result['team'][$bet]['away']), 1); } } else { foreach ($bets as $bet) { $expectations[$bet.'_team_season']['home'] = 0; $expectations[$bet.'_team_season']['away'] = 0; } } $expectations['gls_team_season']['name'] = 'Goals'; $expectations['crn_team_season']['name'] = 'Corner'; $expectations['fls_team_season']['name'] = 'Fouls'; $expectations['ofs_team_season']['name'] = 'Offsides'; $expectations['crd_team_season']['name'] = 'Cards'; $expectations['snt_team_season']['name'] = 'Shots on Target'; $expectations['tsh_team_season']['name'] = 'Total Shots'; $expectations['active_season'] = $active_season; } } }