【发布时间】:2016-04-05 02:11:34
【问题描述】:
我在 Rails 中有以下查询:
records = Record.select('y_id, source')
.where(:source => source, :y_id => y_id)
.group(:y_id, :source)
.having('count(*) = 1')
如果我 puts records:[#<Record source: "XYZ", y_id: 10000009>, #<Record source: "XYZ", y_id: 10000070>]
看起来输出数组中有 2 个元素。但是当我尝试做records.size 我得到:{[10000009, "XYZ"]=>1, [10000070, "XYZ"]=>1}
当 records 是一个有 2 个元素的数组时,为什么
records.size不打印2?group by查询结果是否因某种原因表现不同?我应该怎么做才能得到
records的大小
【问题讨论】:
标签: ruby-on-rails arrays activerecord sqlite group-by