2012-03-26 2 views
0

Ich habe zwei Klassen unter Migration dir.So wählen Sie einzelne Spalte mit Ruby ActiveRecord Abfrage

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 

Ich möchte Spalte nur Wert von holen table2 Bedingungen table2.table1_id = "1" und table2.name = "A"

Wie schreibt man dies in Ruby verwenden? Ich möchte den Textwert als Ergebnis erhalten. Gleiche wie wie SQL-Abfrage

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

Antwort

0

Sie können Datensatz retrive durch Abfrage wie diese Anwendung.

und es gibt Ihnen die ganze Zeile als Ergebnis. Sie können durch dieses Array iterieren und erhalten Ihre gewünschten Werte.

@array = Table2.where ("table1_id =? Und name =?", 1, 'A')

wird es funktionieren.

Oder

@array = Table2.find (: Erstens: Bedingungen => "[table1_id = '1' Und name = 'A']"

aber Rubin geben Sie, dass dieser Code Warnung deprecate ist, aber es funktioniert

aber die erste Abfrage ist den meisten besser.

hoffen, dass es funktioniert für u !!!!

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