给定一个具有三维坐标 x、y 和 z 的 System 模型,我编写了以下实例方法来为我提供相关特定 System 的设定范围内的所有其他 Systems。这是代码:
def systems_within(range = '15')
System.find_by_sql(["SELECT * FROM systems WHERE Sqrt(Pow((:x - systems.x), 2) + Pow((:y - systems.y), 2) + Pow((:z - systems.z), 2)) <= :range AND id!= :current_id", {x: x, y: y, z: z, range: range, current_id: id}])
end
有这样做的 ActiveRecord 方式吗?