gpt4 book ai didi

ruby-on-rails - Rails group by id 使用字符串作为哈希键

转载 作者:太空宇宙 更新时间:2023-11-03 18:27:53 32 4
gpt4 key购买 nike

我的代码是这样的:

hash = MyModel.count(:group => 'id', :conditions => 'bla = "bla"')

返回的 Hash 具有字符串形式的键。我希望他们是整数。我知道可以使用类似 map 构造的东西手动转换 Hash

编辑:

感谢您的回复。已经意识到这是一个将 id 转换为字符串的 json 转换过程,而 rails 实际上确实像人们预期的那样使用了 Fixnum。

最佳答案

hash = MyModel.count(group: 'id', conditions: 'bla = "bla"')

默认情况下应该有 Fixnum 键,因为 id 是 Fixnum 的一个实例。

ActiveRecord 总是以字符串形式获取结果,然后 Rails 负责根据数据库列的类型将它们转换为其他数据类型(我们说它们是类型转换)。

所以这可能是 Rails 错误或“id”列未设置为整数(这会令人惊讶)。

如果无法修复,请手动转换它们:

hash.each_with_object({}) do |(key, value), hash|
hash[key.to_i] = value
end

关于ruby-on-rails - Rails group by id 使用字符串作为哈希键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8347699/

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