Во-первых, давайте напишем ГДЕ В подзапрос
$range = DB::table("websites_lats_and_longs")
->select("domain")
->whereBetween("lng", [$lng_min, $lng_max])
->whereBetween("lat", [$lat_min, $lat_max])
->get();
Далее напишите запрос, который использует хранимую функцию
$result = DB::table("websites_lats_and_longs")
->selectRaw(
"get_distance_in_miles_between_geo_locations(?, ?, lat, lng)"
, [51.666774, -1.92973])
->whereIn(["domain" => $range])
->orderBy("distance_from_input")
->get();
Где DB::table("websites_lats_and_longs")
заменяется моделью Eloquent для таблицы.