我有三個型號:項目的LineItem和規格Mongoid:如何鏈接急切加載?
項目有很多行項目 項目有許多規格
我想通了,負載是LineItem查詢如何渴望項目:
LineItem.all.includes(:project)
但我似乎無法獲得急切加載的項目也渴望加載他們的規格。如何在Mongoid中鏈接如此熱切的負載?
謝謝!
我有三個型號:項目的LineItem和規格Mongoid:如何鏈接急切加載?
項目有很多行項目 項目有許多規格
我想通了,負載是LineItem查詢如何渴望項目:
LineItem.all.includes(:project)
但我似乎無法獲得急切加載的項目也渴望加載他們的規格。如何在Mongoid中鏈接如此熱切的負載?
謝謝!
如果急切加載非常重要,也許您應該考慮嵌入這些規範。我知道這不是你的問題的答案,但它可能是一個更好的解決方案。
LineItem.all.includes(:project => :specs)
# or
LineItem.all.includes({project: :specs})
你錯過了mongoid標籤,Mongoid和ActiveRecord是非常不同的東西。 –
是的,我剛剛意識到,困難的方式... Mongoid 2的文檔規定,它只支持一級深度加載。我會嘗試看看mongoid 4是否仍然如此。 –
mongoid_includes
應該回答你https://github.com/ElMassimo/mongoid_includes
聶你有沒有想出一個優雅的方式來做到這一點? –