0

我对在表中创建和插入数据有点困惑。

例如,我有用户表,其中保存了所有用户。付款表应保存用户 A 进行的所有付款。付款不会更新。用户 A 注册后,他会填写一个表格,在其中键入他的付款,然后保存,仅此而已。(我知道这听起来很奇怪,但我的数据库是基于文件的统计分析。加载文件后,分析完成,分析数据(简单数字)必须存储。所以 pro 文件大约有 1000 个数字被存储并且不会更新任何内容)。参考键是用户的 ID。所以,它应该是这样的:

class PaymentsTable < ActiveRecord::Migration
  def change
    create_table :payments do |t|
      t.integer :user_id
      t.float   :sum
    end
  end
end

我的问题是,我不明白只有在我指定 t.float :sum 一次的情况下才能保存用户 A 的 10 笔付款。

提前致谢

4

1 回答 1

0

您想输入用户进行的每笔付款,并且您想对这些付款求和,那么您当前的方式是错误的。

您可以像这样创建付款表,

类 PaymentsTable < ActiveRecord::Migration
def change
create_table :payments do |t|
t.integer :user_id
t.float :amount
end
end

因此,如果您通过查询对这个金额列求和,例如

user_payment = Payment.where(:user_id=>params[:user_id)).first.sum(&:amount)

于 2013-05-04T08:49:52.707 回答