【问题标题】:ActiveRecord Connection Adapter return valueActiveRecord 连接适配器返回值
【发布时间】: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


【解决方案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

【讨论】:

    猜你喜欢
    • 2021-06-04
    • 1970-01-01
    • 1970-01-01
    • 2010-11-12
    • 2018-11-26
    • 1970-01-01
    • 1970-01-01
    • 2018-02-04
    • 2023-03-08
    相关资源
    最近更新 更多