Rails 4 - 如何比较两个对象集合并选择相同的对象?

时间:2016-02-22 04:42:57

标签: ruby-on-rails arrays ruby activerecord hash

我正在进行2次(有时是3次)搜索,例如:

first_search  = Company.where('...') # returns 2 objects
second_search = Company.where('...') # returns 4 objects

我们假设first_search包含具有以下ID的对象:

10
20

second_search包含

10
30
40
50

我想保存到resultsfirst_search具有相同ID的另一个变量(比如second_search)个对象,因此results只包含带ID的对象:

10

怎么做?

谢谢/

修改 交叉点正在基于id列工作,对吧?有没有办法让交叉点在不同的列上工作?说name

2 个答案:

答案 0 :(得分:1)

看起来这也适用于对象。

jeff

答案 1 :(得分:1)

你只是想尝试交叉,你可以做到

results = first_search & second_search

但是当您想要找到对象的交集时,这里是已经回答它的链接。我希望它可以帮助你。

Intersection of two relations