Rails Activerecord查询选择性包括

时间:2013-08-16 21:57:48

标签: sql ruby-on-rails ruby rails-activerecord

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

Post.includes(:user).large_set

我正在寻找类似的东西:

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

我需要实际使用名称和配置文件pic属性,因此据我所知,Post.joins(:user)不是一个选项。

2 个答案:

答案 0 :(得分:2)

您正在寻找

select

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

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

答案 1 :(得分:0)

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