我希望能够做到这样的事情。其中boat.classifications
通常会返回一组相关的分类。
Boat.where(classifications.size == 3)
我可以这样做,但我希望能够在其上调用.pluck
,以下代码将不允许这样做。
Boat.all.select do |boat|
boat.classifications.length == 3
end
答案 0 :(得分:2)
使用GROUP
+ HAVING
:
count = 3
Boat
.joins(:classifications)
.group(:id)
.having('count(boats.id) = ?', count)
你可以用pluck
或任何你需要的东西链接它。