value('id'); break; case 3: // MAGLOO KENIA $match_id = Event::where('magken_id', $event_id)->value('id'); break; case 4: // MAGLOO NIGERIA $match_id = Event::where('magnig_id', $event_id)->value('id'); break; case 5: // LOGIFUTUR NIGERA $match_id = Event::where('lognig_id', $event_id)->value('id'); break; case 6: // LOGIFUTUR COLOMBIA $match_id = Event::where('logcol_id', $event_id)->value('id'); break; } // DEFAULT BETRADAR if (! $match_id && $betradar_id) { $match_id = Event::where('betradar_id', $betradar_id)->value('id'); } $home_id = $elements[$event['home_id']] ?? 0; $away_id = $elements[$event['away_id']] ?? 0; $cgid = $groups[$event['group_id']] ?? 0; if ($match_id) { Mapper::where('event_id', $event_id)->delete(); $match = Event::where('id', $match_id)->first(); if (! $home_id) { $ele = []; $ele['sport_id'] = $event['sport_id']; $ele['provider_id'] = $event['provider_id']; $ele['element_id'] = $match->home_id ?? 0; $ele['name'] = $event['home']; ElementProvider::updateOrCreate(['provider_element_id' => (int) $event['home_id']], $ele); } if (! $away_id) { $ele = []; $ele['sport_id'] = $event['sport_id']; $ele['provider_id'] = $event['provider_id']; $ele['element_id'] = $match->away_id ?? 0; $ele['name'] = $event['away']; ElementProvider::updateOrCreate(['provider_element_id' => (int) $event['away_id']], $ele); } if (! $cgid) { $group = []; $group['sport_id'] = $event['sport_id']; $group['provider_id'] = $event['provider_id']; $group['competition_group_id'] = $match->competition_group_id; $group['name'] = $event['group']; CompetitionGroupProvider::updateOrCreate(['provider_group_id' => (int) $event['group_id']], $group); } $update_array = []; if ($betradar_id && ! $match->betradar_id) { $update_array['betradar_id'] = $betradar_id; } if ($betsapi_id && ! $match->betsapi_id) { $update_array['betsapi_id'] = $betsapi_id; } if ($bet365_id && ! $match->bet365_id) { $update_array['bet365_id'] = $bet365_id; } if ($_1xbet_id && ! $match->_1xbet_id) { $update_array['bet365_id'] = $_1xbet_id; } if ($bwin_id && ! $match->bwin_id) { $update_array['bwin_id'] = $bwin_id; } // event_id switch ($event['provider_id']) { case 3: // MAGLOO KENIA if (! $match->magken_id) { $update_array['magken_id'] = $event_id; } break; case 4: // MAGLOO NIGERIA if (! $match->magnig_id) { $update_array['magnig_id'] = $event_id; } break; case 5: // LOGIFUTUR NIGERA if (! $match->lognig_id) { $update_array['lognig_id'] = $event_id; } break; case 6: // LOGIFUTUR COLOMBIA if (! $match->logcol_id) { $update_array['logcol_id'] = $event_id; } break; } if ($update_array) { Event::where('id', $match_id)->update($update_array); } } else { $startime = $event['starttime']; if ($home_id && $away_id && $cgid) { $from = Carbon::createFromDate($startime)->subDay(); $to = Carbon::createFromDate($startime)->addDay(); // dd($home_id, $away_id, $cgid, $from->toDateTimeString(), $to->toDateTimeString()); $match_id = Event::query() ->where('home_id', $home_id) ->where('away_id', $away_id) ->where('competition_group_id', $cgid) ->where('starttime', '>', $from->toDateTimeString()) ->where('starttime', '<', $to->toDateTimeString()) ->value('id'); if ($match_id) { $update_array = []; if ($betradar_id) { $update_array['betradar_id'] = $betradar_id; } if ($betsapi_id) { $update_array['betsapi_id'] = $betsapi_id; } if ($bet365_id) { $update_array['bet365_id'] = $bet365_id; } if ($update_array) { Event::where('id', $match_id)->update($update_array); } switch ($event['provider_id']) { case 2: // BETSAPI Event::where('id', $match_id)->update(['betsapi_id' => $event_id]); break; case 3: // MAGLOO KENIA Event::where('id', $match_id)->update(['magken_id' => $event_id]); break; case 4: // MAGLOO NIGERIA Event::where('id', $match_id)->update(['magnig_id' => $event_id]); break; case 5: // LOGIFUTUR NIGERA Event::where('id', $match_id)->update(['lognig_id' => $event_id]); break; case 6: // LOGIFUTUR COLOMBIA Event::where('id', $match_id)->update(['logcol_id' => $event_id]); break; default: } } else { Mapper::updateOrCreate(['event_id' => $event_id], $event); } } else { Mapper::updateOrCreate(['event_id' => $event_id], $event); } } } }