Rails:从ActiveRecord_AssociationRelation访问has_many关系

时间:2016-03-29 20:52:37

标签: ruby-on-rails ruby activerecord

class Article < ActiveRecord::Base
  has_many :books
end

class Book < ActiveRecord::Base
  belongs_to :article
end

有没有办法访问一组作者的所有书籍? 例如:Article.where(...)。书籍将返回所选文章的相关书籍?

1 个答案:

答案 0 :(得分:0)

您可以使用子查询执行此操作:

Book.where(article: Article.where(...))

请注意,Activerecord仍会将其转换为单个SQL查询:

 SELECT `books`.* FROM `books` WHERE `books`.`article_id` IN (SELECT `articles`.`id` FROM `articles` WHERE (...))
相关问题