#php #laravel
#php #laravel
Вопрос:
в моем приложении я хочу показать ближайшие места из координат центра карты, после поиска решений я нашел необработанный SQL-запрос, который я мог бы использовать в своем приложении laravel:
Это мой метод:
$venues = Venue::select(DB::raw('*, ( 6367 * acos( cos( radians('.$latitude.') ) * cos( radians( lat ) ) * cos( radians( lng ) - radians('.$longitude.') ) sin( radians('.$latitude.') ) * sin( radians( lat ) ) ) ) AS distance'))
->having('distance', '<', 25)
->orderBy('distance')
->get();
Он работает отлично, но прямо здесь:
->having('distance', '<', 25)
Я не знаю, что это за измерение 25, это километры, мили, очевидно, это не метры, кто-нибудь может мне помочь?
Ответ №1:
Эта константа 6367 выглядит как приближение к радиусу Земли в километрах. Похоже, что ваши единицы измерения — это километры.