2011-12-30 84 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

相關問題