gpt4 book ai didi

Ruby Mysql2 使用符号而不是字符串作为键返回结果哈希

转载 作者:数据小太阳 更新时间:2023-10-29 08:47:27 25 4
gpt4 key购买 nike

我将 Mysql2 Gem 与 Ruby 结合使用,我使用以下方法将结果转换为散列

sql = "SELECT * FROM ... WHERE ... "

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

results.each(:as => :hash) do |row|
finalresults << row
end

但这会返回以字符串为键的散列。我想要的是哈希使用符号作为键,因为我听说通常符号更有效。任何人都知道如何以一种有效的方式执行此操作,而不涉及在返回结果后循环键?请注意,我的某些查询可能会产生大量数据。

所以,而不是

{'id'=>19201, 'name'=>'Foo', 'age'=>30}

我要,

{:id=>19201, :name=>'Foo', :age=>30}

提前致谢

最佳答案

您可以使用Hash#with_indifferent_access。虽然我不确定是否有一种方法可以无差别地自动访问 results,但很可能这就是它在幕后实现的方式,因此没有性能损失。

results.each(:as => :hash) do |row|
finalresults << row.with_indifferent_access
end

关于Ruby Mysql2 使用符号而不是字符串作为键返回结果哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23438166/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com