Rails - 在关注范围内的 sql 字符串查询中使用 self 列
Rails - Use self column in sql string query in concern scope
所以,我有这个顾虑和范围
module GeocoordinatesHelpers
extend ActiveSupport::Concern
included do
scope :within_range, -> (lat, lon, range) { where("(6371.0 * 2 * ASIN(SQRT(POWER(SIN((self.latitude - :lat) * PI() / 180 / 2), 2) + COS(self.latitude * PI() / 180) * COS(:lat * PI() / 180) * POWER(SIN((self.longitude - :lon) * PI() / 180 / 2), 2)))) <= :range", {lat: lat, lon: lon, range: range})}
end
end
我需要跨多个模型使用
是否可以引用调用作用域的模型列?比如,用实际有效的东西替换 where 中的 self
位
由于某些原因,我不能只使用地址解析器 gem
如果您确实需要完整的列名,请尝试将 self
更改为 #{table_name}
。
所以,我有这个顾虑和范围
module GeocoordinatesHelpers
extend ActiveSupport::Concern
included do
scope :within_range, -> (lat, lon, range) { where("(6371.0 * 2 * ASIN(SQRT(POWER(SIN((self.latitude - :lat) * PI() / 180 / 2), 2) + COS(self.latitude * PI() / 180) * COS(:lat * PI() / 180) * POWER(SIN((self.longitude - :lon) * PI() / 180 / 2), 2)))) <= :range", {lat: lat, lon: lon, range: range})}
end
end
我需要跨多个模型使用
是否可以引用调用作用域的模型列?比如,用实际有效的东西替换 where 中的 self
位
由于某些原因,我不能只使用地址解析器 gem
如果您确实需要完整的列名,请尝试将 self
更改为 #{table_name}
。