2014-10-10 77 views
2

我有一个Rails 3.2.14应用程序,我试图用chartkickgroupdate gem来生成一些图表。我已经安装了这两个宝石,我试图在我的Call模型上从控制台执行一些测试查询。Rails groupdate gem pg error

Call.group_by_day(:created_at)

我抛出一个异常,并出现以下错误:

Call Load (8.8ms) SELECT "calls".* FROM "calls" WHERE (created_at IS NOT NULL) GROUP BY (DATE_TRUNC('week', (created_at::timestamptz - INTERVAL '6 day' - INTERVAL '0' hour) AT TIME ZONE 'America/Chicago') + INTERVAL '6 day' + INTERVAL '0' hour) AT TIME ZONE 'America/Chicago' 
ActiveRecord::StatementInvalid: PG::Error: ERROR: column "calls.id" must appear in the GROUP BY clause or be used in an aggregate function 
LINE 1: SELECT "calls".* FROM "calls" WHERE (created_at IS NOT NULL... 
      ^
: SELECT "calls".* FROM "calls" WHERE (created_at IS NOT NULL) GROUP BY (DATE_TRUNC('week', (created_at::timestamptz - INTERVAL '6 day' - INTERVAL '0' hour) AT TIME ZONE 'America/Chicago') + INTERVAL '6 day' + INTERVAL '0' hour) AT TIME ZONE 'America/Chicago 

有什么我应该做的,使这项工作?是否有某种范围需要创建才能完成这项工作?我是新来的宝石,所以任何帮助将不胜感激。

回答

1

显然我没有正确调用它。

我需要拨打Call.group_by_day(:created_at).count才能完成此项工作。

+0

协会怎么样? – Hamdan 2016-12-14 16:18:00