2

我在优化大型活动记录查询时遇到问题。我需要在我的请求中包含一个关联模型,但由于返回集的大小,我只想包含几个关联列。例如我有:

Post.includes(:user).large_set

当我在寻找类似的东西时:

Post.includes(:user.name, :user.profile_pic).large_set

我需要实际使用名称和个人资料图片属性,因此据我了解, Post.joins(:user) 不是一个选项。

4

2 回答 2

2

select是您正在寻找的:

Post.select("posts.*, users.name, users.profile_pic").large_set

http://guides.rubyonrails.org/active_record_querying.html#selecting-specific-fields

于 2013-08-16T22:24:12.423 回答
0

你必须使用 join 来完成你想要的,因为包含没有这个功能。或者你可以白你自己的包含方法:-)

于 2013-08-16T22:10:45.770 回答