Rails:运行 原始 sql 查询返回额外信息并构建模型
Rails: Run raw sql query returning extra info and build models
在rails中,我如何从数据库中获取原始sql结果,然后然后将其中的一部分变成活动记录对象。
更具体地说,假设我有一个 select 语句,如:“SELECT comments.*, c1.sort_order, c2.sort_order” 我想构建每一行一个 Comment 对象,然后是 运行 comment.setpath(c1, c2)。我确定有一个函数可以构建对象并进行所有转换,但我可能无法搜索它似乎无法找到它。
请注意,我在该站点上发现了很多问题,这些问题解释了如何执行原始 sql 模型 table 中的 returns 行并自动执行变成行为对象或获取原始数据库值。我想获取原始数据,收集我需要的额外信息并将我的一些结果转化为 activerecord 对象。
你是不是想做这样的事情:
ActiveRecord::Base.connection.execute("sql here").map do |hash|
new_info = harvest_info(hash)
Comment.new(hash.merge(new_info)) if some_requirement?
end
在rails中,我如何从数据库中获取原始sql结果,然后然后将其中的一部分变成活动记录对象。
更具体地说,假设我有一个 select 语句,如:“SELECT comments.*, c1.sort_order, c2.sort_order” 我想构建每一行一个 Comment 对象,然后是 运行 comment.setpath(c1, c2)。我确定有一个函数可以构建对象并进行所有转换,但我可能无法搜索它似乎无法找到它。
请注意,我在该站点上发现了很多问题,这些问题解释了如何执行原始 sql 模型 table 中的 returns 行并自动执行变成行为对象或获取原始数据库值。我想获取原始数据,收集我需要的额外信息并将我的一些结果转化为 activerecord 对象。
你是不是想做这样的事情:
ActiveRecord::Base.connection.execute("sql here").map do |hash|
new_info = harvest_info(hash)
Comment.new(hash.merge(new_info)) if some_requirement?
end