Rails select children 的全部 children
Rails select all children of children
我的classS有很多classA谁有很多B
我的 S 可以得到全 A (S.As)
我可以遍历这个数组并为每个 A 获得 B。
类似于
S.As.each do |aa|
aa.Bs
end
如何在不使用 'each' 的情况下完成同样的操作?
这将在没有 each
的情况下在一行中工作
S.As.collect(&:Bs)
如果问题出在 N+1 查询上,我建议使用 includes
现在为每个 A 生成一个新查询以获取它的 B。
如果这样写:
S.As.includes(:Bs).each do |aa|
aa.Bs
end
你会得到更少的查询,因为所有 B 都将被预加载。
map 和 collect 在这种情况下不会改变任何东西。
我的classS有很多classA谁有很多B
我的 S 可以得到全 A (S.As) 我可以遍历这个数组并为每个 A 获得 B。
类似于
S.As.each do |aa|
aa.Bs
end
如何在不使用 'each' 的情况下完成同样的操作?
这将在没有 each
S.As.collect(&:Bs)
如果问题出在 N+1 查询上,我建议使用 includes
现在为每个 A 生成一个新查询以获取它的 B。
如果这样写:
S.As.includes(:Bs).each do |aa|
aa.Bs
end
你会得到更少的查询,因为所有 B 都将被预加载。
map 和 collect 在这种情况下不会改变任何东西。