Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save argentinaluiz/184520a650f20e438454880117b87b31 to your computer and use it in GitHub Desktop.
Save argentinaluiz/184520a650f20e438454880117b87b31 to your computer and use it in GitHub Desktop.
Model
public function scopeDistance($subQuery, $latitude, $longitude, $distance)
{
//Generating Query
$item_distance_query = '* , (3959 * ' .
'acos( cos( radians(?) ) ' . //lat
'* cos( radians( lat ) ) ' .
'* cos( radians( lng ) - radians(?) ) ' . //long
'+ sin( radians(?) ) ' . //lat
'* sin( radians( lat ) ) ' .
') ) as distance'; //distance3
$subQuery->getQuery()->selectRaw($item_distance_query,
[$latitude, $longitude, $latitude]
);
$rawQuery = self::getSql($subQuery);
return $subQuery->select(DB::raw("(" . $rawQuery . ") as item"))
->where('distance', '<', $distance);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment