我是铁杆新手,但我仍然觉得我应该知道答案。画一个完整的空白。
我有以下查询返回预期结果。但是我想要通过返回来存储它们正在计算的计算值。
提取此值的最佳方法是什么。
这是代码行
@service = Service.order("ST_Distance(services.lon_lat, ST_GeomFromText('POINT (lat lon)', 4326))").limit(10)
正如我所说它返回正确的结果,但我也想找到每个结果的距离
谢谢
答案 0 :(得分:1)
试试这个:
@services = Service.select("*, ST_Distance(services.lon_lat, ST_GeomFromText('POINT (lat lon)', 4326)) as st_distance").order("st_distance").limit(10)
你在@services
中得到的对象(注意我将其改为复数以符合约定)应该有一个额外的方法.st_distance
,这就是我设置该函数的结果使用as st_distance