【问题标题】:I'm trying to subtract 2 fields and insert result into Database我正在尝试减去 2 个字段并将结果插入数据库
【发布时间】:2018-06-14 19:21:52
【问题描述】:

好的,我想首先说我正在自学 Ruby on Rails 和 MySQL。我觉得我正在取得一些不错的进展,但是我遇到了一个我似乎无法弄清楚的问题,而且这似乎是一件很容易做到的事情。如果这很愚蠢,请原谅我,也许我没有寻找正确的术语,但这就是我想要做的。我有一张表格,供卡车司机从他的运输票/发票中输入他的信息。我可以输入票证中的所有信息并将其保存到数据库中。我遇到的问题是,卡车的空重和毛重有一个字段。我希望下一个字段自动填充毛重和空重的差异,并将其保存到数据库的净重列。这有意义吗?谁能至少指出我正确的方向?

感谢您的帮助,再次原谅我的新手......

-N8

【问题讨论】:

  • 这可能是一个before_save 回调,计算结果并为字段设置适当的值。 (见api.rubyonrails.org/classes/ActiveRecord/Callbacks.html
  • 您确定在数据库中需要该号码吗?您可以在需要时计算它,避免重复信息。
  • 对于创建/编辑,我可能会使用 javascript 计算净重(因此在填写表格时它是实时可见的)。为了演示,您可以在客户端计算它,在服务器端计算它,甚至将它存储在数据库中。
  • 为什么不使用mysql中生成的列?

标签: mysql ruby-on-rails subtraction


【解决方案1】:

取决于您的 mysql 版本,但您可以使用生成的列创建表:

https://dev.mysql.com/doc/refman/5.7/en/create-table-generated-columns.html

CREATE TABLE weights (
 gross DOUBLE,
 empty DOUBLE,
 diff DOUBLE AS (gross - empty)
  );

【讨论】:

  • 谢谢!我会去阅读这个,但它看起来像我正在寻找的东西!
猜你喜欢
  • 2020-08-06
  • 2022-01-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-26
相关资源
最近更新 更多