我有一个带有位置的模型,它本身有一个纬度和经度。我想要的是纬度/经度在某个区域内的交易,所以我尝试了这个:
boundary = self.user.boundary
max_lat, max_lng = boundary.max_coords.latitude, boundary.max_coords.lng
min_lat, min_lng = boundary.min_coords.latitude, boundary.min_coords.lng
lat, long = self.user.location.latitude, self.user.location.longitude
self.all_deals = Deal.where('location.latitude <= ? AND location.latitude >= ? AND location.longitude <= ? AND location.longitude >= ?', max_lat, min_lat, max_lng, min_lng).limit(10)
SQL 引发异常,指出没有列“location.latitude”。我怎样才能写同样的东西,但要么使用 ActiveRecord(首选)或在原始 SQL 中?