所以我正在研究这个现有的rails应用程序,我从2个不同的数据库访问2个表。
scope :comp_ids_in, lambda {|comp_ids| where(:comp_id => comp_ids)}
company_info = CompanyInfo.comp_ids_in(my_array_of_ids)
上面的company_info返回一个ActiveRecord数组:Relation CompanyInfo对象。
现在我想将上述company_info对象与另一个数据库上的另一个表进行比较 并将所有找到的结果返回给对象。
我在控制器中的现有尝试一次只会返回1个结果。
company_info.each do |info|
# RemoteInfo is an acive record class which accesses record from a different database
remote_info = RemoteInfo.where(username: current_user.username, property_code: info.org_id, chain_code: info.site_id)
end
我希望将所有结果存储在remote_info对象中。这样我就可以遍历该对象并获取返回的任何信息。
如果有人建议我采用有效的方法,我将不胜感激。
答案 0 :(得分:1)
如果您不担心订单,只需进行一次查询即可获得所有远程信息
remote_info = RemoteInfo.where(username: current_user.username, property_code: company_info.collect(&:org_id), chain_code: company_info.collect(&:site_id))