[英]How do I order the results of rails geocoder gem by something other than distance
我有這個優秀的寶石https://github.com/alexreisner/geocoder在我的應用程序中正常工作,但我需要略微不同地訂購活動記錄查詢的結果。
例如,使用rails控制台
$> Person.near('London',10)
生成一個長SQL查詢(不相關)后跟
ORDER BY distance ASC
這給出了一個很好的有序人員列表,從最近到最遠(最遠10英里)。 現在,如果我這樣做
$> Person.near('London',10).order('price_per_hour')
查詢附加
ORDER BY distance ASC, price_per_hour
我仍然想要倫敦附近的所有人,但我不希望它按距離排序。 似乎無論如何都沒有把它拿出來。
我無法在活動記錄查詢之外進行排序,因為我正在使用分頁,因此需要在主查詢中進行排序,然后對其進行分頁。
你應該嘗試reorder
而不是order
:
Person.near('London',10).reorder('price_per_hour')
reorder
將刪除並替換由范圍near
創建的order
語句。
我知道為時已晚。 現在geocoder
gem提供了刪除默認的距離順序
Person.near('London',10,order: false).order('price_per_hour')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.