Laravel с SQL Server не может использовать псевдоним - PullRequest
0 голосов
/ 01 октября 2019

Я пытаюсь получить станции, расположенные в указанном диапазоне (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)

...