Получить метод GeoCoder Near из широты и долготы другой таблицы - PullRequest
0 голосов
/ 27 января 2020

У меня есть функция, которая берет все результаты из модели и возвращает их и передается методу .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].

...