获取ActiveRecord MySQL查询结果作为哈希,而不是数组

时间:2014-04-28 22:09:29

标签: activerecord mysql2

当使用带有Class.connection.execute('query here')的ActiveRecord运行mysql查询时,结果是一个数组,而不是postgres中的哈希。这是使用mysqlmysql2适配器测试的,即使mysql2的默认值是将查询结果作为哈希返回。

如何让ActiveRecord更改连接上的配置选项以将查询结果作为哈希返回?我可以不使用ActiveRecord,我应该使用原始mysql2客户端吗?

1 个答案:

答案 0 :(得分:17)

我遇到了类似的问题,我在this answer找到了解决方案:

您可以data = Class.connection.exec_query('query here')获得ActiveRecord::Result

然后,您可以data.first执行哈希,或使用文档中提到的任何其他方法。