我想知道在从数据库中检索对象时是否以及如何实现混合:include
和:joins
关联以避免不必要的往返。
例如,当有一个模型空间时:
————— ————— —————
| A | 0..1 ————— * | B | * ————— 1 | C |
————— ————— —————
在这里,我通过已知标识符加载 A 的实例以显示在我的视图中,但我也想加载 B 和 C (B via:include
和 C via :joins
)。这可以做到吗?到目前为止,我:include
只使用,即。
A.find params[:id], :include => [ { :b => :c } ]
这自然会生成两个额外的往返(1.,通过 id 获取 A,2.获取关联的 B,3.获取关联的 C)。