查询 rails 中关系的一对多?
Querying one to many with relation in rails?
我有两个模型是这样设置的:
class Page < ActiveRecord::Base
belongs_to :book
end
class Book < ActiveRecord::Base
has_many :pages
end
我知道如果我有一个模型,我可以检索给定页面所属的书,例如page.book。但是如果我有任意一组页面,我可以检索我所有页面所属的所有书籍吗?
根据已创建的关联,您可以执行以下操作:
pages.book
和
book.pages
You can do :
book = Book.first
#get pages
book.pages
page = Page.first
# get the book
page.book
To fetch multiple books from multiple pages:
pages = Page.last(5) #taking last 5 pages.
book_ids = pages.map(&:book_id)
books = Book.where(id: book_ids) #lists books of last 5 pages.
我有两个模型是这样设置的:
class Page < ActiveRecord::Base
belongs_to :book
end
class Book < ActiveRecord::Base
has_many :pages
end
我知道如果我有一个模型,我可以检索给定页面所属的书,例如page.book。但是如果我有任意一组页面,我可以检索我所有页面所属的所有书籍吗?
根据已创建的关联,您可以执行以下操作:
pages.book
和
book.pages
You can do :
book = Book.first
#get pages
book.pages
page = Page.first
# get the book
page.book
To fetch multiple books from multiple pages:
pages = Page.last(5) #taking last 5 pages.
book_ids = pages.map(&:book_id)
books = Book.where(id: book_ids) #lists books of last 5 pages.