2014-04-28 46 views
3

當使用ActiveRecord與Class.connection.execute('query here')運行mysql查詢時,結果是一個數組,而不是postgres中的散列。即使mysql2的默認值是將查詢結果作爲散列返回,也會對mysqlmysql2適配器進行測試。獲取ActiveRecord MySQL查詢結果作爲散列,而不是數組

我該如何獲得ActiveRecord來更改連接上的配置選項以將查詢結果作爲散列返回?我可以不使用ActiveRecord爲此,我應該使用原始mysql2客戶端?

+0

可能重複[爲什麼Rails 3與Mysql2 Gem ActiveRecord :: Base.connection.execute(sql)返回Array不哈希?](http://stackoverflow.com/questions/5760100/why-does-rails- 3與 - mysql2-GEM-activerecordbase-連接的ExecuteSQL-換貨政...) – sebkkom

回答

13

我有一個類似的問題,我發現this answer解決方案:你可以做data = Class.connection.exec_query('query here')得到一個ActiveRecord::Result

然後

,你可以爲一個哈希做data.first,或使用任何其他方法在文檔中提到。

相關問題