Rails,执行sql返回一个哈希数组

时间:2015-01-19 11:30:04

标签: sql ruby-on-rails

我有以下内容:

recs = conn.execute sql

输出:

[{"mk1"=>"test007", 0=>"test007"}, {"mk1"=>"test009", 0=>"test009"}, {"mk1"=>"test0010", 0=>"test0010"}, {"mk1"=>"test00112", 0=>"test00112"}, {"mk1"=>"test345", 0=>"test345"}, {"mk1"=>"testprüfer", 0=>"testprüfer"}, {"mk1"=>"test3455", 0=>"test3455"}, {"mk1"=>"aaaa", 0=>"aaaa"}, {"mk1"=>"pat1", 0=>"pat1"}, {"mk1"=>"pat222", 0=>"pat222"}, {"mk1"=>"poook_patient", 0=>"poook_patient"}, {"mk1"=>"sylviaparient", 0=>"sylviaparient"}, {"mk1"=>"patient_of_sylvia", 0=>"patient_of_sylvia"}, {"mk1"=>"test0005", 0=>"test0005"}, {"mk1"=>"test0006", 0=>"test0006"}]

有没有一种快速方法可以通过使用“执行”而不是其他东西来获取“mk1”的值? 如果可能的话,我想比这更快:

mk1s = []
recs.each{|l| mks1s.push(l["mk1"]) }

提前谢谢。

1 个答案:

答案 0 :(得分:1)

select_values方法执行此操作。

connection.select_values 'select mk1 from ...'

将返回这些值的数组。如果您的select语句产生多个列,它将忽略第一个列以外的列。