2015-06-18 38 views
0

我已经写在轨道4,5轨查询虚拟列不退出

result = User.select("id, (3959 * acos(cos(radians("+latitude+")) * cos(radians(latitude)) * cos(radians(longitude) - radians("+longitude+")) + sin(radians(" +latitude +")) * sin(radians(latitude)))) as distants") 

这个查询时我检查的数据,但它告诉我distants虚拟领域?我如何显示它?

回答

1

它实际上存在于ActiveRecord对象中。您可以通过访问它作为对象的关键得到它:

result = User.select("id, (3959 * acos(cos(radians("+latitude+")) * cos(radians(latitude)) * cos(radians(longitude) - radians("+longitude+")) + sin(radians(" +latitude +")) * sin(radians(latitude)))) as distants")

result.each do |user| 
    puts user['distants'] 
end 
+0

感谢@amit Thawait,我做工精细,什么时候我实现中止(result.inspect),那么它并没有显示我为什么会这样呢? – Harman

+1

因为'inspect'只显示模型属性 –

+0

谢谢@Amit Thawait – Harman