【问题标题】:how do I return a key-value pair from a database table and render the response in a tabular form如何从数据库表中返回键值对并以表格形式呈现响应
【发布时间】:2019-03-15 19:45:11
【问题描述】:

我有一个数据库表(订单表),其中包含来自具有其 ID 的用户的订单信息,我想获得基于不同货币的费用总和,并将它们呈现为键值对报告,在前端,但以表格形式,我什至不知道如何去做。下面是我继续之前的表格示例

订单表

那么我该如何设计这个,以便我将拥有类似货币的综合总和,并以表格形式显示在应用程序的前端,这样我就有了下面的表格:

基于上述订单表中存在的任何货币的总和的类似货币的综合摘要

我该怎么做?任何帮助将不胜感激。我所想的是在前端呈现该对象的键值对逻辑。

【问题讨论】:

  • @theTinMan。可以对此发表意见吗?

标签: ruby-on-rails ruby ruby-on-rails-4 rubygems


【解决方案1】:

从 Rails 的角度来看,您需要准备将在视图中呈现的数据。从数据库的角度来看,您希望按货币对订单进行分组,并将其收取的费用和网络费用相加。使用这样的查询:

Order.group(:currency)
     .select("currency, SUM(charged_fee) AS total_charged, SUM(network_fee) AS total_network")

如果您只是想渲染它,请将其分配给控制器中某个操作内的实例变量并在视图中使用它。您将能够通过调用访问您的总数

order.total_charged
order.total_network

每个订单。

希望这能让你更清楚。

【讨论】:

  • 听起来很有趣。但是当我得到我的结果并将它放在另一个表中时,我现在如何按日期过滤该表,以便查看基于日期的 total_charge_fee 和 total_network_fee。例如过滤以查看昨天和现在之间的总数
  • 嗯,这绝对超出了您最初问题的范围。您需要在页面的某处准备一个 HTML,您将允许用户选择日期,将该表单路由到订单控制器中的操作,并使用日期参数将 .where(date: params[:date]) 链接到上面的查询方法。
  • 我可以这样做(过滤器),但对象不会在您上面建议的 .group 子句中返回日期时间
猜你喜欢
  • 2021-09-18
  • 2021-08-20
  • 2020-11-08
  • 1970-01-01
  • 2020-12-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-23
相关资源
最近更新 更多