2011-12-30 61 views
0

我有建议和批准,我需要查找所有approvals.count = 1和recommendation.user_id = current_user.id的建议。rails 3如何查询对象及其has_many关联

我曾尝试:

@recommendations = Recommendation.find(:all, :include => :approvals, :conditions => [ "approval.count =?" , 1] ) 

这不仅满足了我的需求之一,并没有明显的原因的工作,像DB不能让这一呼吁。我想知道是否需要为此编写一个范围,但是我对范围更新,因此不确定我将如何去做。

有什么想法?

+0

什么建议和认证之间的关系?它们如何连接? – maprihoda 2011-12-30 20:48:59

+0

建议has_many批准,批准属于建议 – 2011-12-30 20:56:43

回答

0

随着Rails3中的语法:

Recommendation.joins(:approvals).where('approvals.count = ? AND recommendations.user_id = ?', 1, current_user.id) 
+0

这看起来不错,但我看到的错误是:http://stackoverflow.com/questions/3980568/filter-by-count-of-children-using-rails-3 – 2011-12-30 21:18:17

+0

你可以在这里发布错误吗?因为在查询中没有聚合,并且类似的查询(包含Posts和COmments)对我很有用 – maprihoda 2011-12-30 21:22:11

+0

感谢您的帮助:https://gist.github.com/1541569是日志输出。我正在做一个简单的推荐.each在视图 – 2011-12-30 21:35:28

相关问题