【发布时间】:2015-06-20 16:46:51
【问题描述】:
我有两张桌子:
User:
user_id
user_blogs:
user_id | blog_id
blogs:
blog_id | source | identifier
Comments:
source | identifier | Field3
我希望能够选择用户拥有的博客中的所有 cmets。
我的模型是相关的:
class User < ActiveRecord::Base
has_many :user_blogs
has_many :blogs, trhough: :user_blogs
end
class blogs < ActiveRecord::Base
has_many :comments,
:foreign_key => :source,
:primary_key => :source,
:conditions => Proc.new {
{:identifier=> self.identifier}
}
end
现在我可以使用以下方法检索所有用户 cmets:
User.first.blogs.map{|b| b.comments}
但这会为每个博客创建一个查询。
有没有办法一步完成?
【问题讨论】:
标签: sql ruby-on-rails ruby activerecord arel