2013-03-04 57 views
3

我在Postgres的一個查詢,返回一個Postgres陣列中的一列:軌道3 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聲明,我可以用軌映射3模式,使我可以直接使用models作爲紅寶石數組?

我知道我可以通過它在控制器中循環,但這似乎不是非常乾燥。

回答

0

只是爲了關閉這個:最後我升級到了rails4。它對陣列和哈希都有很好的支持。

0

我能找到的最接近的是activerecord-postgres-array。目前尚不清楚它的維護程度如何,但總的來說,實際的代碼不是太複雜或不穩定,所以我認爲這是合理的。

我說這是一個在DD :: Pg直接支持Pg數組之前用Perl手動處理這些數據的人。代碼簡單且相對不變,因此過去有大量發佈的事實表明這是從哪裏開始的。

3

如果有人發現這一點,並且像我一樣想要添加對Rails 3.2應用程序的支持,我發現了1.0 version of postgres_ext gem

1.0版本依賴於ActiveRecord 3.2。

高級主要版本適用於Rails 4.