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

つまり、私がやったことは、すべての配列を合計してからスライスすることです。すなわち:

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