public function create() { try { if (Request::has(['latitude', 'longitude'])) { $country_code = Geocoder::reverse(Request::get('latitude'), Request::get('longitude'))->getCountry(); } else { $country_code = Geocoder::geocode($_SERVER['REMOTE_ADDR'])->getCountry(); } } catch (Exception $e) { } $country_code = @$country_code ?: 'Philippines'; try { $channel = Channel::firstOrNew(['user_id' => Auth::id()]); $channel->user_id = Auth::id(); $channel->name = Request::get('name'); $channel->desc = Request::get('desc'); $channel->peer_key = Request::get('peer_key'); $channel->password = bcrypt(Request::get('password')); if (isset($country_code)) { $country = Country::where('name', $country_code)->first(); if (isset($country)) { $channel->country_id = $country->id; } else { $channel->country_id = 608; } } $channel->save(); } catch (Exception $e) { return Error::response($e); } return Response::json(['ok' => $channel->load(['user.userProfile', 'country'])]); }