簡體   English   中英

如何通過遠距離以外的其他方式訂購rails geocoder gem的結果

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM