Ruby on rails 4 如何获取查询值而不是模型?
我有一个按预期工作的查询,但返回的结果是一个模型数组,而不是值数组。查询转换一个日期,然后按该日期分组 ActiveRecord查询语句: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
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语句中获取数据,作为数组或散列,而不是在模型对象上