2015-05-05 14 views
8

Tôi có các mô hình có liên kết lồng nhau. Tôi muốn tải tất cả các bản ghi lồng nhau từ chỉ một truy vấn.Tải xuống ứng dụng ở liên kết lồng nhau ở mức độ sâu

hotel has_many rooms

rooms has_many room_variants

room_variant has_many seasonal_rates

tôi tìm kiếm khách sạn với tên khách sạn, và muốn tải dữ liệu mô hình lồng nhau.

Để làm tổ một cấp, chúng tôi có thể thực hiện Hotel.search('test').includes(:rooms). Tôi không tìm cách tải các mục mô hình liên kết lồng nhau ở mức độ sâu.

Trả lời

19

Bạn có thể làm:

Hotel.search('test').includes(rooms: { room_variants: :seasonal_rates }) 

Hãy xem phần "lồng Hội Hash" của Eager Loading Associations trong RailsGuides.

+0

Tôi không thể đánh dấu câu trả lời này là câu trả lời ngay cả khi có, nhưng +1. Cảm ơn – gwnp

Các vấn đề liên quan