mysql gem vs mysql2 gem和'each_hash'方法

时间:2011-07-22 13:51:49

标签: mysql ruby-on-rails ruby rubygems

以前我在我的应用中使用了mysql RubyGem。现在我已切换到mysql2 RubyGem,我遇到了Result类的问题。

代码示例:

db_values = ActiveRecord::Base.connection.execute(sql)

db_values.each_hash do |db_value|
  ret_val << MyValue.do_smth_with_data(db_value)
end

以前(在mysql RubyGem中)有循环数据的each_hash方法。在mysql2 RubyGem中,Result类只有3种可能的方法(count,each,fields),其中一种是each方法,但这不是我需要循环获取的数据。

有什么建议吗?

2 个答案:

答案 0 :(得分:9)

mysql2 gem包含Enumerable模块,因此您只需使用each代替each_hash

答案 1 :(得分:1)

Connection的select_all方法在这里也很有用。它“返回一组记录哈希值,列名称为键,列值为值。”