0

我有一个Post模型has_many :feedbacks, :through => another_modelFeedback模型有一个:name属性。

我需要Posts具有feedbacks超过 2 个名称实例的那个。

例如:

Post One 的反馈名称为 [Like, Like, Like, Spam]

帖子二的反馈名称为 [Dislike, Spam, Close]。

我只想发一个

到目前为止我得到的最好的是...... Posts.joins(:feedbacks).where

我知道我需要 agroup("name")和 ahaving count > 2但我无法正确地将所有子句串在一起。

使用正确的查询进行编辑

Posts.joins(:another_models).group("posts.id", "another_models.feedback_id") .having("COUNT(another_models.feedback_id) >= ?", 2)

谢谢您的帮助。

4

2 回答 2

1
Post.joins(:feedbacks).group("posts.id").having("COUNT(feedbacks.id) > 2")
于 2013-08-01T12:43:40.290 回答
1

尝试关注

Post.joins(:feedbacks).group("posts.id").having("COUNT(DISTINCT(feedbacks.name)) < COUNT(feedbacks.id)")
于 2013-08-01T12:56:59.377 回答