$collection = USER::whereHas('userLocations', function ($query) use ($filterId) {
$query->select(DB::raw('*, ( 6367 * acos( cos( radians('.$filterId['lat'].') ) * cos( radians( latitude ) ) * cos( radians( longitude ) - radians('.$filterId['lng'].') ) + sin( radians('.$filterId['lat'].') ) * sin( radians( latitude ) ) ) ) AS distance'))
->having('distance', '<', 10)
->orderBy('distance);
});
$collection = $collection->paginate(config('p.number_of_rows'));
return $collection;
Я пытаюсь отобразить пользователя, чей диапазон местоположения находится от ближнего к дальнему.Порядок, похоже, не работает.Коллекция пользователей должна быть в порядке возрастания расстояния.
Любой совет будет оценен?