ActiveRecord包含
我使用以下模型制作了锻炼应用程序:
用户
常规
升降机
演习
相关信息
例程属于用户
例行程序有许多升降机(这是运动和常规之间的联接)
电梯属于运动
信息(套)属于电梯
我正在深入研究ActiveRecord查询,并特别包括处理我遇到的n + 1问题。 当我展示整个例程时,显示:
例程名称
用户名
每个电梯的练习名称
每个电梯的设置
如果我想减少查询,我可以简单地加载如下所示的所有内容:
a = Routine.includes(:user,:lift,:exercise,:infos)并循环遍历所有这些以找到我想要的东西?
或者我必须打破它更多说:
a = Routine.includes(:user,:lift)
b = Lift.includes(:exercise,:infos)
为了缩小我的查询量。
如果这个问题不够明确,请告诉我。
像下面这样的东西应该工作。 Routine.includes(:user, {:lifts => [:exercise, :infos]})