Rails postgres查询 - Model.where(model.has_many_relationship_item.count> = 2)?

时间:2013-12-09 15:45:27

标签: sql ruby-on-rails postgresql relational-database

我需要返回一个类别的数组,其中has_many的特定项目具有.count >= 2

我知道这个sytax是错的,但我想弄清楚正确的方法,任何提示??

Model.where(model.has_many_relationship_item.count >= 2) ??

提前致谢!!

3 个答案:

答案 0 :(得分:1)

我知道如何做到这一点的唯一方法是:

Model.joins(:items).group('models.id').having('count(items.id) >= 2')

假设(例如)相关模型的类是Item

答案 1 :(得分:1)

Category.joins(:items).group(“cateogry.id”)。having(“COUNT(items.id)> = 2”)

答案 2 :(得分:0)

Model.joins(:association).group('model_table.id').having('COUNT(association_table.id) >= 2')