ruby-on-rails – 如何查找查询结果的大小

ruby-on-rails – 如何查找查询结果的大小,第1张

概述我在rails中有以下查询: records = Record.select('y_id, source') .where(:source => source, :y_id => y_id) .group(:y_id, :source) .having('count(*) = 1') 如果我放置记录,我 我在rails中有以下查询:

records = Record.select('y_ID,source')                .where(:source => source,:y_ID => y_ID)                .group(:y_ID,:source)                .having('count(*) = 1')

如果我放置记录,我会得到以下输出:
[#<记录来源:“XYZ”,y_ID:10000009>,#<记录来源:“XYZ”,y_ID:10000070>]

这看起来像输出数组中有2个元素.但是当我尝试做record.size时,我得到:
{[10000009,“XYZ”] => 1,[10000070,“XYZ”] => 1}

Why doesn’t records.size print 2 when records is an array having 2 elements? Is the group by query result behaving differently for some reason?

What should I do to get the size of records

解决方法 我可能走错了路,但我认为问题与.size的工作方式有关.

Size将自动尝试确定是否调用.count或.length.这些行为如下:

> .count执行sql COUNT
> .length计算结果数组的长度

然而,在occassion .size将返回一个哈希(因为它决定使用.count)

所以你的解决方案可能是使用.length,它将返回一个整数.

总结

以上是内存溢出为你收集整理的ruby-on-rails – 如何查找查询结果的大小全部内容,希望文章能够帮你解决ruby-on-rails – 如何查找查询结果的大小所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1229262.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存