Ruby Sequel查询表并返回JSON格式

时间:2018-07-21 08:15:34

标签: sql json ruby sequel

我在每个日期都有每个人的报告表,如下所示:

+-----+------+----------+------+------------+
| id  | name | received | sent | created_on |
+-----+------+----------+------+------------+
| 1   | A    | 1        | 2    | 2018-07-20 |
| 2   | B    | 3        | 4    | 2018-07-20 |
| 3   | C    | 5        | 6    | 2018-07-20 |
| 4   | A    | 1        | 2    | 2018-07-21 |
| 5   | B    | 1        | 2    | 2018-07-21 |
| 6   | C    | 1        | 2    | 2018-07-21 |
| ... | ...  | ...      | ...  | ...        |
+-----+------+----------+------+------------+

鉴于我需要查询包含开始日期和结束日期的日期范围的表,我如何获得这样的结果:

[
  {
    "name": 'A',
    "received": [1 1 ...],
    "sent": [2 2 ...]
  },
  {
    "name": 'B',
    "received": [3 1 ...],
    "sent": [4 2 ...]
  },
  {
    "name": 'C',
    "received": [5 1 ...],
    "sent": [6 2 ...]
  }
]

1 个答案:

答案 0 :(得分:0)

DB[:reports]
  .select(:name, :received, :sent)
  .where(created_at: (Date.today - 4)..(Date.today))

我显然使用了可以修改的任意日期范围。

这是假设您将连接对象存储在名为DB的常量中。您可以找到有关查询数据库here的更多信息。

如果您需要更多有关配置续集以与数据库一起使用的帮助,则可以检查gems documentation