У меня есть функция, которая берет все результаты из модели и возвращает их и передается методу .near()
для получения ближайших результатов. Дело в том, что я не храню широту и долготу в этой таблице. Я использую lat / lng профиля для отображения результатов
Мой метод ищет Datings
таблицу lat / lng для метода .near()
, и мне нужно, чтобы он вместо этого посмотрел на Profiles
lat / lng .
Вот что у меня есть.
@results = Dating.all
.where("datings.open_to_dating = true")
.where("datings.identity = ?", @category )
.where("datings.deleted_at is null")
.joins("INNER JOIN users on datings.user_id = users.id")
.joins("INNER JOIN profiles on datings.user_id = profiles.user_id")
distance = 75
@results = filter_search_results_by_distance(@results, lat, lng, distance)
def filter_search_results_by_distance(results, lat, lng, distance)
results = results
.joins("INNER JOIN users on datings.user_id = users.id")
.joins("INNER JOIN profiles on datings.user_id = profiles.user_id")
.near([lat, lng], distance, units: :km) # 20 Miles
.order("distance")
end
Я пытаюсь сделать соединение и, возможно, сделать profiles.near([lat,lng]
.