【发布时间】:2016-12-24 03:23:01
【问题描述】:
我有一个更复杂的 sql 查询,我决定使用普通的 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 时如何保留所有值的正确类型?谢谢你的一切!
【问题讨论】:
-
你试过
find_by_sql的方法吗?像这样:Post.find_by_sql ["SELECT title FROM posts WHERE author = ? AND created > ?", author_id, start_date]。更多信息:api.rubyonrails.org/classes/ActiveRecord/Querying.html -
太好了,我不知道这个。在职的!谢谢!
-
@AndreyS 你应该把它放在一个答案中,以便其他人很容易找到它并且可以被接受
-
@jaydel,当然,谢谢
标签: ruby-on-rails json ruby activerecord