Sql 在RubyonRails 2.3.14中,如何从某个类的对象数组中选择某个字段

Sql 在RubyonRails 2.3.14中,如何从某个类的对象数组中选择某个字段,sql,ruby-on-rails,arrays,Sql,Ruby On Rails,Arrays,如果我有一个名为Stream的类的100个对象的数组,如下所示: User.find(1001).streams.find( :all, :order => "id", :limit => 100 ) 这基本上是一个数据表,我如何从中选择某个字段,例如评级?在SQL中,我需要做的就是,从流中选择rating,其中user_id=1001 ORDER BY id LIMIT 100,但我不知道在Ruby on Rails中如何做到这一点。使用上面的命令将返回我无法使用的所有字段。下面

如果我有一个名为
Stream
的类的100个对象的数组,如下所示:

User.find(1001).streams.find( :all, :order => "id", :limit => 100 )

这基本上是一个数据表,我如何从中选择某个字段,例如评级?在SQL中,我需要做的就是,
从流中选择rating,其中user_id=1001 ORDER BY id LIMIT 100
,但我不知道在Ruby on Rails中如何做到这一点。使用上面的命令将返回我无法使用的所有字段。

下面的代码将返回一个评级数组

User.find(1001).streams.all( :order => "id", :limit => 100).map(&:rating) 
如果要避免检索
用户
对象的所有属性的成本,请执行以下操作:

User.find(1001).streams.all:select => "rating", 
  :order => "id", :limit => 100).map(&:rating) 
您可以在键的值中使用标准的
SELECT
子句语法
:SELECT

如果要避免构造
User
对象:

User.connection.select_values("select rating from users order by id limit 100")