2012-03-26 2 views
0

나는 이주 디렉토리 아래에 두 개의 클래스가 있습니다. ruby ​​activerecord 쿼리를 사용하여 단일 열을 선택하는 방법

class1 
    create_table :table1 do |t| 
    t.integer :name 
    end 
end 

class2 
    create_table :table2 do |t| 
    t.integer :table1_id 
    t.integer :name 
    t.text :value 
    end 
end 

나는 조건 table2.table1_id = "1"과 table2.name = "A"

어떻게 루비에서 이것을 쓰기를 사용하여 표 2에서 유일한 값 열을 가져올까요? 결과로 텍스트 값을 가져 오려고합니다. 당신은 다음과 같은 쿼리를 적용하여 기록을 가져 오지 수

select value from table2 where table1_id = 1 and name = 'A'; 

답변

0

SQL 쿼리와 같은 동일합니다.

그리고 결과로 전체 행을 줄 수 있습니다.이 배열을 반복 할 수 있으므로 원하는 값을 얻을 수 있습니다.

@array = Table2.where ("table1_id =? 그리고 이름은 =?", 1, 'A')

그것을 잘 작동합니다.

또는

@array = Table2.find (첫째 : 조건 => "[table1_id = '1'그리고 이름 = 'A']"

하지만 루비는이 코드 있다고 경고 제공 비추천이지만

작동하지만 첫 번째 쿼리가 대부분입니다 더 나은.

그것이 U에 대한 작품을 바랍니다 !!!!

0
Table2.where("table1_id = ? And name = ?",1,'A').select("value") 
관련 문제