Ruby on rails Rails控制台-按计数分组并显示引用的列值

Ruby on rails Rails控制台-按计数分组并显示引用的列值,ruby-on-rails,rails-console,Ruby On Rails,Rails Console,我有两个模型,Bug id,status_id和Statusid,desc 我如何获得这样的输出 错误状态描述、错误计数 输出应该是 {NEW=>1, REOPEN=>2} 这就是我尝试过的 Bug.group(:status).count 结果是 (0.8ms) SELECT COUNT(*) AS count_all, status_id AS status_id FROM `bugs` GROUP BY `bugs`.`status_id` ORDER BY creat

我有两个模型,Bug id,status_id和Statusid,desc

我如何获得这样的输出 错误状态描述、错误计数

输出应该是

{NEW=>1, REOPEN=>2}
这就是我尝试过的

Bug.group(:status).count
结果是

(0.8ms)  SELECT COUNT(*) AS count_all, status_id AS status_id FROM `bugs` GROUP BY `bugs`.`status_id`  ORDER BY created_at DESC
Status Load (0.4ms)  SELECT `statuses`.* FROM `statuses` WHERE `statuses`.`id` IN (1, 3)
=> 
{#<Status:0x007fb210991370 id: 1, desc: "NEW">=>1,
#<Status:0x007fb210991118 id: 3, desc: "REOPEN">=>2}
试一试

假设您在模型中有对应关系,请尝试


假设您在模型中有对应关系

您的意思是结果应该是{NEW=>1,REOPEN=>2}字符串,而不是常量吗?是的,应该是字符串。您的意思是结果应该是{NEW=>1,REOPEN=>2}字符串,而不是常量吗?是的,应该是字符串。谢谢,我得到了预期的结果,但现在我有了一个默认范围,sql结果是失败的,因为默认范围不在结果集中,有没有想过如何在不更改默认范围的情况下使其正常工作您可以使用unscoped禁用特定查询库的默认范围我得到了预期的结果,但现在由于我有了默认范围,sql结果是失败的,因为默认范围不在结果集中,您认为如何在不更改默认范围的情况下使其正常工作?您可以使用unscoped禁用特定查询的默认范围
Bug.joins(:status).group('statuses.desc').count