', Carbon::now()->toDateTimeString())->pluck('txid'); foreach ($res as $id) { $_calls[] = $url."&ot=$markets&peid=".$id; } } elseif (NuhBash::$options['w']) { $res = Event::where('time', '>', Carbon::now()->toDateTimeString())->where('time', '<', Carbon::now()->addDays(7)->toDateTimeString())->pluck('txid'); foreach ($res as $id) { $_calls[] = $url."&ot=$markets&peid=".$id; } } else { $_calls[] = $url.'&last='.NuhBash::$options['lastcall']; } /************************************************* * CALL *************************************************/ foreach ($_calls as $url) { $json_obj = Curl::load($url); foreach ($json_obj['match'] as $match) { $e = []; foreach ($match as $key => $v) { // if ($debug) { // Notice::note($key, 'b'); // } switch ($key) { case '@attributes': $e['id'] = (int) $v['id']; break; case 'time': $starttime = Carbon::createFromDate($v)->toDateTimeString(); break; case 'group': $e['sport_id'] = (int) $v['@attributes']['spid']; $e['country_id'] = (int) $v['@attributes']['cnid']; $e['group_id'] = (int) $v['@attributes']['id']; $e['competition_group_id'] = (int) $v['@attributes']['cgid']; break; case 'hteam': $e['home_id'] = $v['@attributes']['id']; break; case 'ateam': $e['away_id'] = $v['@attributes']['id']; $event = Event::firstOrCreate($e, ['starttime' => $starttime]); break; case 'bookmaker': foreach ($v as $books) { foreach ($books as $bookkey => $book) { $bkmid = false; switch ($bookkey) { case '@attributes': if (isset($book['bid'])) { $bkmid = (int) $book['bid']; } case 'offer': if ($bkmid) { foreach ($book as $type => $od) { switch ($type) { case '@attributes': $bettypeid = (int) $od['ot']; $bmoid = (int) $od['bmoid']; break; case 'odds': switch ($bettypeid) { case '0': Odds3way::updateOrCreate( [ 'event_id' => $event->id, 'bookmaker_id' => $bkmid, 'sport_id' => NuhBash::$options['sport_id'], ], [ 'h3w' => (float) $od['o1'], 'd3w' => (float) $od['o2'], 'a3w' => (float) $od['o3'], 'margin' => (float) Helper::margin([$od['o1'], $od['o2'], $od['o3']], 1), 'flag' => 1, 'nuh_check' => 0, 'source_updated_at' => $od['@attributes']['time'], 'last_check_at' => Carbon::now()->toDateTimeString(), ] ); EventBookmaker::updateOrCreate([ 'event_id' => $event->id, 'bookmaker_id' => $bkmid, 'bmoid' => $bmoid, ], [ 'bkm_starttime' => Carbon::createFromDate($od['@attributes']['starting_time'])->toDateTimeString(), 'last_check_at' => Carbon::now()->toDateTimeString(), ]); break; case '1': Odds2way::updateOrCreate( [ 'event_id' => $event->id, 'bookmaker_id' => $bkmid, 'sport_id' => NuhBash::$options['sport_id'], ], [ 'h2w' => (float) $od['o1'], 'a2w' => (float) $od['o3'], 'margin' => (float) Helper::margin([$od['o1'], $od['o3']], 1), 'flag' => 1, 'nuh_check' => 0, 'source_updated_at' => $od['@attributes']['time'], 'last_check_at' => Carbon::now()->toDateTimeString(), ] ); break; case '4': OddsTotal::updateOrCreate( [ 'event_id' => $event->id, 'bookmaker_id' => $bkmid, 'sport_id' => NuhBash::$options['sport_id'], 'spread' => (float) $od['o3'], ], [ 'over' => (float) $od['o1'], 'under' => (float) $od['o2'], 'margin' => (float) Helper::margin([$od['o1'], $od['o2'], $od['o3']], 1), 'flag' => 1, 'nuh_check' => 0, 'source_updated_at' => $od['@attributes']['time'], 'last_check_at' => Carbon::now()->toDateTimeString(), ] ); break; case '5242880': OddsDc::updateOrCreate( [ 'event_id' => $event->id, 'bookmaker_id' => $bkmid, 'sport_id' => NuhBash::$options['sport_id'], ], [ 'dc1x' => (float) $od['o1'], 'dc12' => (float) $od['o2'], 'dc2x' => (float) $od['o3'], 'margin' => (float) Helper::margin([$od['o1'], $od['o2'], $od['o3']], 1), 'flag' => 1, 'nuh_check' => 0, 'source_updated_at' => $od['@attributes']['time'], 'last_check_at' => Carbon::now()->toDateTimeString(), ] ); break; case '11534337': OddsGgng::updateOrCreate( [ 'event_id' => $event->id, 'bookmaker_id' => $bkmid, 'sport_id' => NuhBash::$options['sport_id'], ], [ 'gg' => (float) $od['o1'], 'ng' => (float) $od['o3'], 'margin' => (float) Helper::margin([$od['o1'], $od['o3']], 1), 'flag' => 1, 'nuh_check' => 0, 'source_updated_at' => $od['@attributes']['time'], 'last_check_at' => Carbon::now()->toDateTimeString(), ] ); break; case '11534337': OddsQualify::updateOrCreate( [ 'event_id' => $event->id, 'bookmaker_id' => $bkmid, 'sport_id' => NuhBash::$options['sport_id'], ], [ 'htq' => (float) $od['o1'], 'atq' => (float) $od['o2'], 'margin' => (float) Helper::margin([$od['o1'], $od['o3']], 1), 'flag' => 1, 'nuh_check' => 0, 'source_updated_at' => $od['@attributes']['time'], 'last_check_at' => Carbon::now()->toDateTimeString(), ] ); break; } break; } } break; } } } } break; } } } } } }