【问题标题】:Having trouble multiplying a number using Arel Table使用 Arel 表乘法时遇到问题
【发布时间】:2015-10-10 19:45:39
【问题描述】:

我正在尝试构建一个需要按百分比调整数字的查询,例如 80% 将是 * 0.80。

我可以乘以一个整数:

Arel::Nodes::Multiplication.new(Inventory.arel_table[:available].sum, 3).to_sql

=> "SUM(\"inventories\".\"available\") * 3"

当我尝试乘以浮点数时出现错误。

Arel::Nodes::Multiplication.new(Inventory.arel_table[:available].sum, 3.1).to_sql

RuntimeError: unsupported: Float

我在这里错过了什么?

【问题讨论】:

  • Arel::Nodes::Multiplication.new(Inventory.arel_table[:available].sum, Arel::Nodes::SqlLiteral.new('0.80')).to_sql 这行得通... .

标签: sql ruby-on-rails arel


【解决方案1】:
Arel::Nodes::Multiplication.new(
  Inventory.arel_table[:available].sum,
  Arel::Nodes::SqlLiteral.new('0.80')
).to_sql

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-18
    相关资源
    最近更新 更多