只需从多个其他记录中提取多个记录…(Rails/Ruby)
我认为这是一个简单的问题,但我就是想不出解决办法。如果我有一组记录(本例中为报告): 然后我试图找到其他类型记录的关联集合(在本例中为用户),我天真地尝试了这一点-但从偏移量知道它不起作用:只需从多个其他记录中提取多个记录…(Rails/Ruby),ruby,ruby-on-rails-3,Ruby,Ruby On Rails 3,我认为这是一个简单的问题,但我就是想不出解决办法。如果我有一组记录(本例中为报告): 然后我试图找到其他类型记录的关联集合(在本例中为用户),我天真地尝试了这一点-但从偏移量知道它不起作用: @users = User.find :all, :conditions => ["id IN (?)", @results.user_id] 那么,如何有效地提取@users记录集合呢?假设用户有很多:报告 @users = User.joins(:reports) # all users
@users = User.find :all, :conditions => ["id IN (?)", @results.user_id]
那么,如何有效地提取@users记录集合呢?假设
用户有很多:报告
@users = User.joins(:reports) # all users that have reports
如果您只希望某些特定报告的所有用户
@users = User.joins(:reports).where("reports.id IN (?)", @reports.map(&:id))
假设用户有多个:报告
@users = User.joins(:reports) # all users that have reports
如果您只希望某些特定报告的所有用户
@users = User.joins(:reports).where("reports.id IN (?)", @reports.map(&:id))
我直接回答了toy您的问题,尽管您可能希望使用关联和即时加载ie。@reports=reports.includes(:users)
我直接回答了toy您的问题,尽管您可能希望使用关联和即时加载ie。@reports=reports.includes(:users)