1

我有一个搜索,可以找到所有 3 个匹配类别、所有 2 个类别和所有 1 个类别,如下所示。

def self.three_matching_cat(rel)
  cats = rel.prefs.map {|p| p.category_id}
  self.where(:category_id => cats).group(:name).having("count(*) >2").map {|p| p.name}    
end

我想要做的是将结果总数限制为 10,但要确保返回具有 3 个匹配类别的所有结果,并且只继续搜索,直到找到总共 10 个结果。

谢谢!

4

1 回答 1

0

所以我最终做的只是将所有数组相加,然后对其进行切片。IE:

(a + b + c)[0,10].uniq
于 2012-11-30T20:10:37.647 回答