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'); } if ($find_by_name) { $home = $elements[$event['home']] ?? 0; $away = $elements[$event['away']] ?? 0; $groupname = $groups[$event['group']] ?? 0; } else { $home_id = $elements[$event['home_id']] ?? 0; $away_id = $elements[$event['away_id']] ?? 0; $competition_group_id = $groups[$event['group_id']] ?? 0; } if ($match_id) { Mapper::where('event_id', $event_id)->delete(); $match = Event::where('id', $match_id)->first(); if ($find_by_name) { if (! $home) { $ele = []; $ele['sport_id'] = $event['sport_id']; $ele['provider_id'] = $event['provider_id']; ElementProvider::updateOrCreate(['name' => (int) $event['home']], $ele); } if (! $away) { $ele = []; $ele['sport_id'] = $event['sport_id']; $ele['provider_id'] = $event['provider_id']; ElementProvider::updateOrCreate(['name' => (int) $event['away']], $ele); } if (! $groupname) { $group = []; $group['sport_id'] = $event['sport_id']; $group['provider_id'] = $event['provider_id']; CompetitionGroupProvider::updateOrCreate(['name' => (int) $event['group']], $group); } } else { 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 (! $competition_group_id) { $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']; $from = Carbon::createFromDate($startime)->subDay(); $to = Carbon::createFromDate($startime)->addDay(); if ($find_by_name) { $home_id = ElementProvider::where(['sport_id' => (int) $event['sport_id']]) ->where('provider_id', $event['provider_id']) ->where('name', $home) ->value('element_id'); $away_id = ElementProvider::where(['sport_id' => (int) $event['sport_id']]) ->where('provider_id', $event['provider_id']) ->where('name', $away) ->value('element_id'); $competition_group_id = CompetitionGroupProvider::where(['sport_id' => (int) $event['sport_id']]) ->where('provider_id', $event['provider_id']) ->where('name', $groupname) ->value('competition_group_id'); } if ($home_id && $away_id && $competition_group_id) { $match_id = Event::query() ->where('home_id', $home_id) ->where('away_id', $away_id) ->where('competition_group_id', $competition_group_id) ->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); } } $event['id'] = $match_id; } }