Как выбрать один столбец с помощью запроса ruby ​​activerecord - PullRequest
1 голос
/ 26 марта 2012

У меня есть два класса по миграции.

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

Я хочу получить только столбец значений из таблицы2, используя условия table2.table1_id = "1" и table2.name = "A"

Как написать это в рубине? Я хочу получить текстовое значение в результате. То же, что и SQL-запрос

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

Ответы [ 2 ]

1 голос
/ 26 апреля 2013
Table2.where("table1_id = ? And name = ?",1,'A').select("value")
1 голос
/ 26 марта 2012

Вы можете получить запись, применив запрос следующим образом.

и в результате вы получите всю строку. Вы можете перебрать этот массив и получить желаемые значения.

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

будет работать нормально.

Или

@ array = Table2.find (: first,: условие => "[table1_id = '1' And name = 'A']"

но ruby ​​предупреждает, что этот код устарел, но работает

Но первый запрос лучше.

Надеюсь, у вас это сработает !!!!

...