Я пытаюсь получить станции, расположенные в указанном диапазоне (500 м), и я использовал этот запрос:
$query = Station::leftjoin('Area', 'Area.ID', 'Station.AreaID')->selectRaw("Station.StationID, Station.Name, Station.Name_AR, Area.AreaName, Station.Location.Lat as Lat, Station.Location.Long as Lng,
( 6371 * acos( cos( radians(?) ) *
cos( radians( Station.Location.Lat ) )
* cos( radians( Station.Location.Long ) - radians(?)
) + sin( radians(?) ) *
sin( radians( Station.Location.Lat ) ) )
) AS distance", [ $Lat, $Lon, $Lat ])
->having('distance', '<', 500)
->get();
После выполнения этого запроса я получаю следующее исключение:
SQLSTATE [42S22]: [Microsoft] [Драйвер ODBC 17 для SQL Server] [SQL Server] Недопустимое имя столбца «расстояние». (42S22)