Я использую GeoCoder для запросов на основе местоположения. Метод .Near от GeoCoder добавляет расстояние & Столбец Bearing к предложению select, который полезен для предложений where и order.Rails GeoCoder изменяет предложение выбора с помощью ModelName. *
Эти столбцы прекрасны, но также добавляет текущую модель. *, Которую я пытаюсь избежать с помощью определенного списка столбцов в инструкции select.
Следующий запрос и изображение показывают дополнительные дополнения, красный - это то, что я хочу удалить, желтый добавлен GeoCoder, но я в порядке с этим.
sql = Shift.scoped
.select("CAST('#{region.name}' AS character(50)) as region, staffrooms.name as staffroom_name, staffrooms.staffroom_type, shifts.id, shifts.title, shifts.shift_type, shifts.status, shifts.location, shifts.uuid")
.visible
.jobs
.joins(:posted_shortlists)
.near([region.latitude, region.longitude], 50)
sql = sql.where("staffrooms.staffroom_type = ?", staffroom_type) if staffroom_type
sql = sql.reorder("staffrooms.name")
Как удалить сдвиги. * Из запроса, мой текущий метод здесь, но это кажется немного хитроумный для меня и не позволяет запрос оставаться как отношение
sql = sql.gsub("shifts.*, ", "")