Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lloricode/25c962582fe76acb9b21b87c0ce387d1 to your computer and use it in GitHub Desktop.
Save lloricode/25c962582fe76acb9b21b87c0ce387d1 to your computer and use it in GitHub Desktop.
Laravel find nearest location in km from lat, long database
private function findNearestLocation(Request $request)
{
$location = DB::table('locations')
->select('name', 'latitude', 'longitude', 'region', DB::raw(sprintf(
'(6371 * acos(cos(radians(%1$.7f)) * cos(radians(latitude)) * cos(radians(longitude) - radians(%2$.7f)) + sin(radians(%1$.7f)) * sin(radians(latitude)))) AS distance',
$request->input('latitude'),
$request->input('longitude')
)))
->having('distance', '<', 50)
->orderBy('distance', 'asc')
->get();
return $location;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment