我有一个名为TopicSubscription
的导轨模型,它有2个主要列。
我试图写一个会返回这样的哈希的查询:
{user_id1 => [topic_ids], user_id2 => [topic_ids] }
其中键是user_ids,值是topic_ids的数组。
这是我尝试的查询:
TopicSubscription.select("ARRAY_AGG(topic_id) AS topic_ids, user_id").where(topic_id: [1,2,3].group(:user_id)
然而它返回的内容如下:
#<ActiveRecord::Relation [#<TopicSubscription id: nil, user_id: 1>, #<TopicSubscription id: nil, user_id: 2>]>
我正在使用Rails 4.2和Postgres 9.4。我试图避免在生产中使用Enumerable#group_by,它将选择数千/数万行。
编写此查询以获取我正在寻找的格式的数据的正确方法是什么?