我有两个表位于两个不同的数据库中。
示例:
位于 db1 的用户,其属性为 user_id和名称
位于 db2 的审核,其属性为 id和user_id
User.find_by_sql("SELECT * FROM users")
Audit.find_by_sql("SELECT * FROM audits")
如何基于user_id
组合这两个查询结果的结果预期输出行=> user_id audit_id名称
答案 0 :(得分:0)
如果你想在ruby中这样做,你可以使用映射
users = User.find_by_sql("SELECT * FROM users")
audits = Audit.find_by_sql("SELECT * FROM audits")
result = []
users.each do |u|
result << {
user_id: u.id,
name: u.name,
audits: audits.find_all { |a| a.user_id == u.id }
}
end
result
# result will include all user audits
在地图中,您可以使用您喜欢的任何内容构建哈希