2014-09-23 1 views
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_cityrow[major_city]major_state에서 row[major_state]으로 설정된 두 변수로 결과를 설정하는 것입니다.

이 작업을 수행하면 어떻게 두 변수를 독립적으로 설정할 수 있습니까?

답변

-1

ActiveRecord :: Relation 유형이 결과의 한 부분 일지라도 .first를 사용하고 단일 레코드가 작동 할 때 가져옵니다.

+0

단일 레코드로 사용한다는 것은 무엇을 의미합니까? 예제를 제공해 줄 수 있습니까? – Sauron

+0

blabla 'select'blabla가 배열과 같은 데이터 유형으로 나오면 result = [{: a => 1, : b => 2, : c => 3}]의 예제를 설정하면됩니다. 행으로 원하는 것을 설정하십시오 [major_city] = result.a, 이것이 문제입니까? 그렇다면 result.first.a로 변경하십시오. – realwol

+0

그래서'@result = [New York City, NY]'와 같은 것을 반환 할 것이므로 질의 결과를 배열로 설정할 수 있습니다. 단순히 @majoy_city = @result [0]'과'@mathoy_city = major_state = @ 결과 [1]'? – Sauron

관련 문제