我一直在努力为这个问题找到一个合适的解决方案,但没有成功。我知道我们不能用include语句选择。
例如,我有一个名为Parent的模型,它有很多孩子。我尝试了以下事情
1)当我尝试这个时
Parent.includes(:children).select("parent.name, children.age")
Rails完全忽略了select子句。
2)然后我尝试了这个
Parent.joins(:children).select("parent.name, children.age")
select子句可以工作,但它不是返回一个嵌套对象,而是返回一个平面对象数组。所以我必须再次按命令运行它以使其嵌套。
3)我发现了一些名为preload的东西,但又没有足够的文档。
我已经厌倦了找到这个问题的解决方案。有人能指出我正确的方向。
=============================================== ====================
通过嵌套对象我的意思是我应该能够做像
这样的事情 @parents.each do |parent|
puts parent.name
parent.children.each do |child|
puts child.age
end
end
我可以使用include来实现这一点,但随后它会选择所有不需要的属性。