0
我有下面的查询,将返回城市和状态是输入的设定点和表Metros
的所有行之间的最短距离:设置多个变量,结果查询
@lat = row[latitude]
@long = row[longitude]
Metros.select(
"major_city
, major_state
,(latitude - " + @lat + ")**2 + (longitude - " + @long + ")**2 as 'distance'")
.group("major_city,major_state").limit(1).order('distance ASC')
什么我现在需要做的是将结果设置为两个变量row[major_city]
和row[major_state]
,major_city
设置为row[major_city]
和major_state
到row[major_state]
。
我怎样才能完成这个任务两个允许独立设置两个变量?
你是什么意思把它作为一个单一的记录?你能提供一个例子吗? – Sauron 2014-09-23 15:44:14
你的'选择'blabla事情出来的数据类型就像一个数组,只需按结果= [{:a => 1,:b => 2,:c => 3}]来设置示例,则不能根据行设置你想要的[major_city] = result.a,是你的问题吗?如果是这样,则更改为result.first.a。 – realwol 2014-09-23 15:53:37
所以我可以将查询的结果设置为一个数组,因为它会返回像'@result = [纽约市,纽约]'',我会简单地设置'@majoy_city = @result [0]'和@ major_state = @result [1]'? – Sauron 2014-09-23 16:01:29