ruby – 将执行的SQL结果转换为Model对象列表
发布时间:2020-12-17 02:47:22 所属栏目:百科 来源:网络整理
导读:我想知道是否可以将执行的查询结果转换为模型列表. 我正在使用Ruby和ActiveRecord,需要执行自定义SQL查询来连接两个或多个表.代码如下所示: connection = ActiveRecord::Base.connectionsql = "select T1.f1,T2.f2 from T1 left join T2 on T1.id = T2.id"@
我想知道是否可以将执行的查询结果转换为模型列表.
我正在使用Ruby和ActiveRecord,需要执行自定义SQL查询来连接两个或多个表.代码如下所示: connection = ActiveRecord::Base.connection sql = "select T1.f1,T2.f2 from T1 left join T2 on T1.id = T2.id" @result = connection.execute(sql) 在Ruby代码中,我定义了一个模型来管理执行的SQL结果: class Model property :f1,:f2 end 有没有办法将@result转换为Model对象列表?所以我可以处理列表中的每个项目如下 @result.each do |item| puts item.f1 puts item.f2 end 解决方法
让您的模型继承ActiveRecord :: Base
class Model < ActiveRecord::Base end 然后你可以这样做 connection = ActiveRecord::Base.connection sql = "select T1.f1,T2.f2 from T1 left join T2 on T1.id = T2.id" @result = Model.find_by_sql(sql) puts @result.f1 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |