我有一个更复杂的sql-query,我决定使用普通sql
而不是用AR写它。我将sql语句包装在ActiveRecord :: Base.connection.exec_query`中。
该方法基本上如下:
def sc_agent
return ActiveRecord::Base.connection.exec_query("SQL").as_json
end
序列化程序as_json
为我提供了一个带有json字符串的json哈希。所以id现在也是字符串
{"id":"123","age":"99"}
在我使用AR的标准查询中,我收到的很好 格式化的json与正确的类型。
直接使用ConnectionAdapter时,如何保留所有值的正确类型?谢谢你的一切!
答案 0 :(得分:1)
使用find_by_sql
方法。
示例:Post.find_by_sql ["SELECT title FROM posts WHERE author = ? AND created > ?", author_id, start_date]
。
更多信息在这里:http://api.rubyonrails.org/classes/ActiveRecord/Querying.html