2014-01-30 32 views
1

使用Rails 3.2,我有以下型號:ActiveRecord的查詢多的has_many associactions

class Category < ActiveRecord::Base 
    has_many: posts 
end 

class Post < ActiveRecord::Base 
    belongs_to :category 
    has_many :comments 
end 

class Comment < ActiveRecord::Base 
    belongs_to :post 
end 

現在我正在尋找一個查詢找到屬於某一類的所有評論。

回答

2

我會做這樣的連接查詢:

Comment.joins(:post=>:category).where("categories.id = ?", category)

有一點要注意的是內存使用情況。如果您在評論,帖子和類別以及大量記錄中都有很多字段,它們不會很漂亮。因此請使用select指定您需要的字段。

+0

感謝您的快速回復!我錯過了.joins(:post =>:category)部分,只是使用了.joins(:post)。 – Twiek

+0

歡迎光臨!接受答案,如果它的作品:) –

+0

完成(stackoverflow只允許幾分鐘後接受答案)。 – Twiek