rails 模型查询 returns 11 条记录但未设置限制

rails model querying returns 11 records but no limit is set

我正在使用基于 ActiveRecord 的自定义模型 Stat 查询一组数据,使用 sqlite3。很明显总数据量是100多条,但是我查询所有数据的时候都是returns11条记录,没有其他数据了,我也没有限制语句,但在控制台中它只添加了 11 的限制。限制下面是我的代码:

2.5.1 001 > Stat.all

  Stat Load (2.1ms)  SELECT  "stat".* FROM "stat" LIMIT ?  [["LIMIT", 11]]

2.5.1 002 > Stat.count

  (0.4ms)  SELECT COUNT(*) FROM "stat"
>> 105

有什么方法可以取消我这样做时自动添加的限制吗?

您的 Rails 版本是 5.1 还是更高版本?从 5.1 开始,Rails 只加载需要的记录。

要查询数据库中的所有记录,请改用Stat.all.to_a

注意:这个 returns Array 而不是 ActiveRecord_Relation

查看此 PR:https://github.com/rails/rails/pull/28592