0

我有一个返回表中的字段的选择语句。

records = Product.select("DISTINCT #{iFieldName}").where("id in (0, #{iInClaws})" )

我想将数据库中的数据转换为一个数组以供以后使用.. 比如说另一个 inClaws。

records.each{|record| fieldArray << record.?????}

我有两个问题。

  1. 有一个更好的方法吗?
  2. 如果没有,那么我如何从现场获取数据。


谢谢大家。。大家过来帮忙后我的最终方法是这样的。

def self.getFieldArray(iFieldName, iIDsInClaws, iIdFieldName = 'id')
    records = self.select("DISTINCT #{iFieldName}").where("#{iIdFieldName} in (#{iIDsInClaws})" )
    return records.map{|record| record.send(iFieldName)};
end
4

2 回答 2

2
records.each{|record| fieldArray << record.send(iFieldName)}
于 2012-05-15T23:14:12.183 回答
2
fieldArray = records.map(&:iFieldName)

或者

res = records.map{|r| r.send(iFieldName)}
于 2012-05-15T23:28:36.697 回答