Activerecord组计数不起作用

时间:2016-02-15 09:21:37

标签: ruby-on-rails activerecord

我正在尝试编写查询,但找不到合适的结果。我有这样的模型:

#<Ahoy::Event id: "007d74fb-6225-4cd5-a725-6e35b2e9a859", visit_id: "34713617-d6f6-4adb-b436-8029a7ea586c", user_id: 3, name: "view", properties: {"id"=>14, "delay"=>500, "action"=>"show", "resource"=>"News", "end_point"=>"news"}, time: "2016-02-12 15:13:05">

这是一个跟踪器,所以我有多个资源,如果我返回同一页面,则会跟踪相同的资源。

我想知道用户阅读了多少新闻,所以我尝试使用:

Ahoy::Event.where(user_id:3).group(:properties["resource:news"]).count

更新

我也在尝试

Ahoy::Event.where(user_id:3).where("properties @> (:key => :value)", :key => 'resource', :value => 'Gate').count

**更新2 ** 另一个试探性的:

Ahoy::Event.where(user_id:3).where("properties --> 'resource': 'Gate'").select("properties #>> 'id' as resource, count('resource')").group("resource")

1 个答案:

答案 0 :(得分:0)

我已经在psql中尝试使用我的控制台了,它确实有效。

也许你错过了大括号?

Ahoy::Event.where(user_id:3).
  where("properties @> ({:key => :value})", :key => 'resource', :value => 'Gate').
  count