', 0)->where('events.starttime', '>', Carbon::now())->get(); foreach ($events as $event) { /** * BET365 ODDS (per event) */ $url = 'https://api.b365api.com/v4/bet365/prematch?token='.config('env.betsapi_token').'&FI='.$event->bet365_id; $data = Curl::load($url); $offer = $data['results'][0]['main']['sp']; $base = []; $base['sport_id'] = $event->sport_id; $base['provider_id'] = Nuh::$options['provider_id']; $base['bmoid'] = $event->bet365_id; $base['flag'] = 1; $base['last_check_at'] = Carbon::now(); /** * 1X2 */ if (isset($offer['full_time_result'])) { $odds = []; $odds['h3w'] = $offer['full_time_result']['odds'][0]['odds'] ?? 1; $odds['d3w'] = $offer['full_time_result']['odds'][1]['odds'] ?? 1; $odds['a3w'] = $offer['full_time_result']['odds'][2]['odds'] ?? 1; $odds['margin'] = (float) Margin::calculate($odds, 1); Odds3way::updateOrCreate([ 'event_id' => $event->id, 'bookmaker_id' => $bookmaker_id, ], $base + $odds); } /** * DC */ if (isset($offer['double_chance'])) { $odds = []; $odds['dc1x'] = $offer['double_chance']['odds'][0]['odds'] ?? 1; $odds['dc12'] = $offer['double_chance']['odds'][1]['odds'] ?? 1; $odds['dcx2'] = $offer['double_chance']['odds'][2]['odds'] ?? 1; $odds['margin'] = (float) Margin::calculate($odds, 1); OddsDc::updateOrCreate([ 'event_id' => $event->id, 'bookmaker_id' => $bookmaker_id, ], $base + $odds); } /** * OU */ if (isset($offer['goals_over_under'])) { $odds = []; $odds['over'] = $offer['goals_over_under']['odds'][0]['odds'] ?? 1; $odds['under'] = $offer['goals_over_under']['odds'][1]['odds'] ?? 1; $odds['margin'] = (float) Margin::calculate($odds, 1); if ((float) $offer['goals_over_under']['odds'][1]['name'] == 2.5) { OddsTotal::updateOrCreate([ 'event_id' => $event->id, 'bookmaker_id' => $bookmaker_id, 'total' => 2.5, ], $base + $odds); } } /** * GG NG */ if (isset($offer['both_teams_to_score'])) { $odds = []; $odds['gg'] = $offer['both_teams_to_score']['odds'][0]['odds'] ?? 1; $odds['ng'] = $offer['both_teams_to_score']['odds'][1]['odds'] ?? 1; $odds['margin'] = (float) Margin::calculate($odds, 1); OddsGgng::updateOrCreate([ 'event_id' => $event->id, 'bookmaker_id' => $bookmaker_id, ], $base + $odds); } /** * DNB */ if (isset($offer['draw_no_bet'])) { $odds = []; $odds['dnb1'] = $offer['draw_no_bet']['odds'][0]['odds'] ?? 1; $odds['dnb2'] = $offer['draw_no_bet']['odds'][1]['odds'] ?? 1; $odds['margin'] = (float) Margin::calculate($odds, 1); OddsDnb::updateOrCreate([ 'event_id' => $event->id, 'bookmaker_id' => $bookmaker_id, ], $base + $odds); } } } }