Rails模型查询返回11条记录,但未设置限制

时间:2018-10-30 07:07:25

标签: ruby-on-rails activerecord limit

我正在使用基于Stat的自定义模型ActiveRecordsqlite3来查询一组数据。显然,数据总量超过100,但是当我查询所有数据时,它总是返回11条记录,没有其他数据,并且我没有对语句设置任何限制,但是在控制台中它只添加了11个限制。limit下面是我的代码:

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

执行此操作时,有什么方法可以删除自动添加的限制?

1 个答案:

答案 0 :(得分:2)

您的Rails版本是5.1或更高版本吗?从5.1开始,Rails仅加载所需的记录。

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

注意:这将返回Array而不是ActiveRecord_Relation

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