Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 4 如何获取查询值而不是模型?_Ruby On Rails 4_Activerecord - Fatal编程技术网

Ruby on rails 4 如何获取查询值而不是模型?

Ruby on rails 4 如何获取查询值而不是模型?,ruby-on-rails-4,activerecord,Ruby On Rails 4,Activerecord,我有一个按预期工作的查询,但返回的结果是一个模型数组,而不是值数组。查询转换一个日期,然后按该日期分组 ActiveRecord查询语句: Participant. select( "count(*)", "date_trunc('month', participants.completed_at) as Date"). group('Date') 返回: [ #<Participant id: nil>, #<Particip

我有一个按预期工作的查询,但返回的结果是一个模型数组,而不是值数组。查询转换一个日期,然后按该日期分组

ActiveRecord查询语句:

Participant.
  select(
         "count(*)",
         "date_trunc('month', participants.completed_at) as Date").
  group('Date')
返回:

[ #<Participant id: nil>,
  #<Participant id: nil>,
  #<Participant id: nil>,
  #<Participant id: nil> ]
 count |        date
-------+---------------------
  5742 | [NULL]
   590 | 2016-05-01 00:00:00
   798 | 2016-06-01 00:00:00
   293 | 2017-01-01 00:00:00
但这有点奇怪,因为无论是
count
,还是
date
都不是该模型的属性

原始SQL查询:

SELECT
  count(*),
  date_trunc('month', participants.completed_at) as Date
FROM "participants"
WHERE "participants"."deleted_at" IS NULL
GROUP BY Date;
返回:

[ #<Participant id: nil>,
  #<Participant id: nil>,
  #<Participant id: nil>,
  #<Participant id: nil> ]
 count |        date
-------+---------------------
  5742 | [NULL]
   590 | 2016-05-01 00:00:00
   798 | 2016-06-01 00:00:00
   293 | 2017-01-01 00:00:00
我知道我可以简单地将结果映射为我想要的格式,但我希望直接从ActiveRecord语句中获取数据,作为数组或散列,而不是在模型对象上