Ruby on rails 如何显示查询结果Activerecord查询界面

Ruby on rails 如何显示查询结果Activerecord查询界面,ruby-on-rails,activerecord,Ruby On Rails,Activerecord,我有一个小问题,通过Activerecord查询接口编写 实际上是: Gp.选择(“日期('gps.'created_at')作为日期,('users.'name')作为名称,SUM('gps.'SUM_issue')作为SUM_issue”).加入('LEFT JOIN users ON users.id=gps.user_id')。其中(“users.ab_id=:abs_id=>current_user.ab_id')。组(“users.name”) 查询结果必须是用户名、总和和日期。如果

我有一个小问题,通过Activerecord查询接口编写 实际上是:

Gp.选择(“日期('gps.'created_at')作为日期,('users.'name')作为名称,SUM('gps.'SUM_issue')作为SUM_issue”).加入('LEFT JOIN users ON users.id=gps.user_id')。其中(“users.ab_id=:abs_id=>current_user.ab_id')。组(“users.name”)

查询结果必须是用户名、总和和日期。如果我直接从SQLlite执行此查询,它是有效的,但是 活动记录查询接口给我

[#<Gp sum_issue: 289000>, #<Gp sum_issue: 364130>, #<Gp sum_issue: 620000>]
试一试

试一试


谢谢,但此查询只返回人员的姓名。我想要那个查询返回名称、问题和日期。然后我需要JSON格式的转换数据,比如{created_at:date,sum_issue:sum_issue,}从这个“spagetti”的末尾删除name。当您执行group方法时,它返回包含select中声明的所有列的对象。但在控制台中,结果仅显示聚合列。如果您想将此数组序列化为json,请尝试将Gp.select(…).JOIN(…).where(…).group(…).TOJSON,然后您将看到您的日期、名称和总和。好了,可以了,我可以如何迭代格式json(映射,每个都不起作用)
arr=[];Gp.select(…).joins(…).where(…).group(…).each{result}arr谢谢,但是这个查询只返回人名。我希望这个查询返回姓名、sum_issue和日期。而不是转换JSON格式的数据。比如{created_at:date、sum_issue:sum_issue,}从这个“spagetti”的末尾删除名称。执行group方法时,它返回包含select中声明的所有列的对象。但在控制台中,结果仅显示聚合列。如果要将此数组序列化为json,请尝试
Gp.select(…).JOIN(…)。其中(…).group(…).to_json
,您将看到您的日期、姓名和总数。好的,这是工作,以及我如何迭代格式json(映射,每个不工作)
arr=[];Gp.select(…).joins(…).where(…).group(…).each{result | arr
{
 created_at: datet,
 sum_issue: sum_issue,
 name: name
}
Gp.select("date('gps'.'created_at') as date,('users'.'name') as name, SUM('gps'.'sum_issue') as sum_issue").joins('LEFT JOIN users ON users.id = gps.user_id').where("users.ab_id = :abs_id AND users.id != 20", {:abs_id => current_user.ab_id}).group("users.name").first.name