通过ActiveRecord的ID范围

时间:2013-09-26 21:16:51

标签: ruby-on-rails arrays activerecord

我知道我可以使用People.first(100)检索前100条记录,People.last(100)也是如此。

我不知道的是,我如何检索200-400 范围内的所有对象,当总数是1000条记录时?

2 个答案:

答案 0 :(得分:1)

您需要的是limitoffset - 请阅读this了解详情。

示例:

People.limit(200).offset(200)

以上代码从第201条记录开始记录200条记录 - 这意味着记录为201-400。

答案 1 :(得分:0)

您是否正在搜索特定字段,您的标题表明您正在搜索ID?

People.where('id BETWEEN ? AND ?', 200, 400)

...或

People.where(id: 200..400)

如果您没有搜索特定字段,则需要使用Big_Bird的限制和偏移方法。