Ruby on rails 右侧的group and count ActiveRecord查询返回什么?

Ruby on rails 右侧的group and count ActiveRecord查询返回什么?,ruby-on-rails,activerecord,Ruby On Rails,Activerecord,我无法确定此查询返回的内容: @themes = Theme.joins({submissions: [:digitization]}).group('themes.id').count => {1=>15, 5=>1, 7=>1, 10=>1, 11=>1, 13=>69, 14=>4, 17=>2, 18=>4, 19=>2, 20=>1, 22=>1, 31=>91, 32=>118, 33=&g

我无法确定此查询返回的内容:

 @themes = Theme.joins({submissions: [:digitization]}).group('themes.id').count
 => {1=>15, 5=>1, 7=>1, 10=>1, 11=>1, 13=>69, 14=>4, 17=>2, 18=>4, 19=>2, 20=>1, 22=>1, 31=>91, 32=>118, 33=>102, 34=>156, 35=>84, 36=>82, 37=>130, 38=>116, 39=>86, 40=>117, 41=>89, 42=>138, 43=>120, 44=>146, 45=>63, 46=>92, 47=>122, 48=>62, 49=>151, 50=>91, 51=>172, 52=>72, 53=>94, 54=>120, 55=>136, 56=>80, 57=>137,
右边的值是多少?左边的值是多少?我知道我们是按themes.id分组的,所以我可以看到左边是themes的id。。。。但右边的数字是多少

下面是sql:

 @themes = Theme.joins({submissions: [:digitization]}).group('themes.id').to_sql
 => "SELECT `themes`.* FROM `themes` INNER JOIN `submissions` ON `submissions`.`theme_id` = `themes`.`id` AND (purchase_status = \"Complete\" or purchase_status = \"Purchased\") INNER JOIN `digitizations` ON `digitizations`.`submission_code` = `submissions`.`identifier` GROUP BY themes.id"

我知道联接正在进行内部联接,并且只有在通过主题提交发现数字化的情况下才会返回主题

右侧的计数是根据主题进行分组后形成的每个组的大小。id

例如,假设有两组,第一组表示theme.id=1,第二组表示theme.id=2。 第一组有2名成员,第二组有3名成员

然后返回上面的查询

=> {1=>2, 2=>3}

右边的值是与theme.id相对应的“digitalization”计数。

我认为散列值类似于theme\u id=>themes的计数,这可能是错误的。id为13的主题应该有69个提交。您可以使用Theme.find13.submissions.countOh进行检查。这不是数字化吗?如果一个主题有2个相关提交,则Theme.joins:提交将返回相同的主题记录两次。有另一个级别的加入可能会复制提交记录,因此主题也会复制,所以是的,这可能是数字化计数,但我不确定。你必须试一下,并仔细检查结果是的,这确实是“数字化”的计数。我自己使用上面的查询对它进行了测试,还手动检查了计数。