3

我在 postgres 中有一个查询,它在其中一列中返回一个 postgres 数组:

SELECT e.context->'device' AS device, count(e.data->'model_name') AS members, ARRAY_AGG(e.data->'model_name') AS models
  FROM entity AS e
  WHERE e.data->'type'='chassis' GROUP BY e.context->'device', e.data->'model_name';

有没有serialize可以用来映射 rails 3 模型的 gem 或语句,以便我可以models直接用作 ruby​​ 数组?

我知道我可以在控制器中循环它,但这似乎不是很干燥。

4

3 回答 3

3

如果有人发现这个并且像我一样希望添加对 Rails 3.2 应用程序的支持,我找到了1.0 版本的 postgres_ext gem

1.0 版本依赖于 ActiveRecord 3.2。

更高的主要版本用于 Rails 4。

于 2016-09-05T07:55:32.930 回答
0

只是为了解决这个问题:最后我升级到了 rails4。它对数组和哈希都有很好的支持。

于 2013-05-08T21:08:29.720 回答
0

我能找到的最接近的是activerecord-postgres-array。目前尚不清楚它的维护情况如何,但总的来说实际代码并不太复杂或不稳定,因此我希望使用它是合理的。

我说这是在 DD::Pg 获得对 Pg 数组的直接支持之前在 Perl 中手动处理这些的人。代码简单且相对不变,因此过去有许多版本的事实表明这就是开始的地方。

于 2013-05-03T08:43:57.557 回答