2012-03-26 8 views
0

私は、移行ディレクトリの下に2つのクラスを持っています。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ルビーでこれを書くためにどのように=「」

を使用して表2からのみ値の列を取得したいですか? 結果としてテキスト値を取得したいと思います。 SQLクエリ

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

答えて

0

などと同じ あなたはこのようなクエリを適用することによって、レコードをretriveことができます。

となり、結果として全体の行が得られます。この配列を反復処理して、 の値を取得することができます。

@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") 
を願っています