私の場合、モデルProducthas_oneLocationがあります
ジオコーダージェムを使用して、離れた場所の場所を検索します。
リクエストLocation.near([0、0]、100)は次のようになります。
SELECTの場所。*、6371.0 * 2 * ASIN(SQRT(POWER(SIN((0-locations.latitude)* PI()/ 180/2)、2)+ COS(0 * PI()/ 180)* COS( location.latitude * PI()/ 180)* POWER(SIN((1-locations.longitude)* PI()/ 180/2)、2)))AS距離、CAST(DEGREES(ATAN2(RADIANS(longitude-1 )、RADIANS(latitude-0)))+ 360 AS decimal)%360 AS Bearing FROM \ "locations \" WHERE(6371.0 * 2 * ASIN(SQRT(POWER(SIN((0 --locations.latitude)* PI() / 180/2)、2)+ COS(0 * PI()/ 180)* COS(locations.latitude * PI()/ 180)* POWER(SIN((1-locations.longitude)* PI()/ 180 / 2)、2)))<= 20)距離で注文
私はこのようなことをしたい:
Product.where(...).joins(:location).dosomething
どうすればいいですか?