0

テーブル内のフィールドを返す select ステートメントがあります。

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

データベース内のデータを配列に変換して後で使用したい..別のinClawsと言えます。

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

2 つの質問があります。

  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 に答える