我进行了搜索,找到所有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个结果。
谢谢!
答案 0 :(得分:0)
所以我最终做的只是将所有数组相加,然后将其切片。即:
(a + b + c)[0,10].uniq