当使用带有Class.connection.execute('query here')
的ActiveRecord运行mysql查询时,结果是一个数组,而不是postgres中的哈希。这是使用mysql
和mysql2
适配器测试的,即使mysql2
的默认值是将查询结果作为哈希返回。
如何让ActiveRecord
更改连接上的配置选项以将查询结果作为哈希返回?我可以不使用ActiveRecord
,我应该使用原始mysql2
客户端吗?
答案 0 :(得分:17)
我遇到了类似的问题,我在this answer找到了解决方案:
您可以data = Class.connection.exec_query('query here')
获得ActiveRecord::Result
然后,您可以data.first
执行哈希,或使用文档中提到的任何其他方法。