Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
RubyonRails手动聚合来自2个不同数据库的2个表中的数据,以便在视图中使用_Ruby_Ruby On Rails 3_Activerecord_Ruby On Rails 3.1 - Fatal编程技术网

RubyonRails手动聚合来自2个不同数据库的2个表中的数据,以便在视图中使用

RubyonRails手动聚合来自2个不同数据库的2个表中的数据,以便在视图中使用,ruby,ruby-on-rails-3,activerecord,ruby-on-rails-3.1,Ruby,Ruby On Rails 3,Activerecord,Ruby On Rails 3.1,因此,我通过在服务器a、数据库B、表C上发出数据库请求来获得这个活动记录对象 # server A, database B, table C scope :comp_ids_in, lambda {|comp_ids| where(:comp_id => comp_ids)} company_info = CompanyInfo.comp_ids_in(my_array_of_ids) 我通过服务器X、数据库Y、表Z上的请求获得另一个Activerelation对象 # server X

因此,我通过在服务器a、数据库B、表C上发出数据库请求来获得这个活动记录对象

# server A, database B, table C
scope :comp_ids_in, lambda {|comp_ids| where(:comp_id => comp_ids)}
company_info = CompanyInfo.comp_ids_in(my_array_of_ids)
我通过服务器X、数据库Y、表Z上的请求获得另一个Activerelation对象

# server X, database Y, table Z
remote_info = RemoteInfo.where(username: current_user.username, property_code: company_info.collect(&:org_id), chain_code: company_info.collect(&:site_id))
上面的remote_info对象给了我一个接近我所需要的结果,只是我还需要一个包含在company_info对象中的附加内容

company_info.display_name
因此,除了返回任何远程\u info对象之外,我还希望它为返回的每个结果返回company\u info.display\u name

所以基本上类似于连接,只是它是两个不同的数据库&服务器请求


在我当前的场景中,是否可以实现上述聚合

我相信你必须自己做这件事。据我所知,一次调用无法查询两个单独的数据库。我已经在做上面的两个调用了。关于聚合,您是对的。我还不知道怎么做。