我有一个需要帮助的ActiveRecord查询。
假设我们有一个用户,他有多个库。在每个库中,有许多集合。在每个系列中,他都有很多书。
我如何获得他所有书籍的清单?
我知道我可以做library.each | library | library.collections.each do | collections | collection.books.each do | book |书籍<< book.title
但是我希望有一种比较简单的方法。
答案 0 :(得分:0)
你可以使用rails'has_many来实现它
class User
has_many :libraries
has_many :collections, through: :libraries
has_many :books, -> { uniq }, through: :collections
end
然后你可以简单地查询
@user = User.first
@user_books = @user.books