Я использую формулу haversine для вычисления расстояния, это работает нормально.
Но я хотел бы скрыть результаты, когда расстояние больше поля max_radius на этом результате.
Это моя схема базы данных.
Это запрос, который я использую. Вы можете видеть, что я жестко закодировал расстояние (50)
public function scopeFitsDistance($query, $lat, $lng) { return $query->select(\DB::raw("*, ( 3959 * acos( cos( radians(?) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(?) ) + sin( radians(?) ) * sin( radians( lat ) ) ) ) AS distance")) ->addBinding($lat, 'select') ->addBinding($lng, 'select') ->addBinding($lat, 'select') ->having('distance', '<', 50); <---------- }
Но теперь мне интересно, как я могу скрыть результаты, где это расстояние <max_radius, которое является полем внутри таблицы.
->having('distance', '<', 'max_radius');
Спасибо!