2

したがって、レコードを取得する SQL ステートメントがあります。

def total_sales_category_csv

  query1 = "SELECT categoryname, casecost, product_name..."

  result1 = ActiveRecord::Base.connection.execute(query1)

  query2 = "SELECT categoryname, foo, bar..."

  result2 = ActiveRecord::Base.connection.execute(query2)

  result3 =  "SELECT SUM(inv_figures1.available) ..."

  bottle_sum = ActiveRecord::Base.connection.execute(query_for_bottle_sum)


  report = FasterCSV.generate do |csv|
    csv << %w{Category casecost product_name Total Sales Avg}

    #I'm stuck here
  end

end

私が立ち往生している部分ActiveRecord::Base.connection.executeで、オブジェクト指向の方法で my によって返されたレコードをループするにはどうすればよいですか? 私はこのようなことをすることができます:

  report = FasterCSV.generate do |csv|
    csv << %w{Category casecost product_name Total Sales Avg}
    result1.each do |row|
      csv << [result1.categoryname, result2[0].foo] 

    end
  end

?

4

2 に答える 2

3

Your result is a hash with column name as keys. So you access them like below

result1.each do |row|
  csv << [result1["categoryname"], result2[0]["foo"]] 

end
于 2013-06-28T21:19:51.927 に答える