2013-03-13 51 views
3

我想知道是否以及如何在關聯中實現混合:include:joins以避免在從數據庫中檢索對象時不必要的往返。混合:包括和:在ActiveRecord查詢中加入嵌套關聯

例如,具有像一個模型空間時:

—————    —————    ————— 
| A | 0..1 ————— * | B | * ————— 1 | C | 
—————    —————    ————— 

這裏我加載A的一個實例由一個已知​​的標識符在我的視圖中顯示,但我想加載B和C作爲(B通過:include,C通過:joins)。這可以做到嗎?到目前爲止,我只使用:include,即。它自然產生兩個額外的往返(1.,通過id獲取A,2.獲取關聯的Bs,3.獲取關聯的Cs)。

回答

0

由於您使用的是Rails 3,因此您可以鏈接這些方法。

A.includes(:b).joins(b: :c).find(params[:id])