моя база данных:
|----|------|------|
| id | lat | long |
|----|------|------|
когда я использовал этот код:
public function near($lat ,$lng)
{
$cities = map::select(DB::raw('*, ( 6367 * acos( cos( radians('.$lat.') ) * cos( radians( lat ) ) * cos( radians( long ) - radians('.$lng.') ) + sin( radians('.$lat.') ) * sin( radians( lat ) ) ) ) AS distance'))
->where('distance', '<', 25)
->orderBy('distance')
->get();
return response($cities);
}
это выдает мне ошибку:
SQLSTATE [42000]: синтаксисошибка или нарушение прав доступа: 1064 У вас ошибка в синтаксисе SQL;проверьте руководство, соответствующее вашей версии сервера MySQL, на предмет правильного синтаксиса для использования рядом с 'long) - радианы (5)) + sin (радианы (28)) * sin (радианы (широта))) AS distan' в строке 1(SQL: выберите *, (6367 * acos (cos (радианы (28)) * cos (радианы (широта)) * cos (радианы (длина) - радианы (5)) + sin (радианы (28)) * sin (радианы (лат)))) AS расстояние от maps
, где distance
<25, порядок <code>distance asc)