【发布时间】:2013-09-26 21:16:50
【问题描述】:
我知道我可以使用 People.first(100) 检索前 100 条记录,People.last(100) 也是如此。
我不知道,当总数为 1000 条记录时,我如何检索 200-400 范围内的所有对象?
【问题讨论】:
标签: ruby-on-rails arrays activerecord
我知道我可以使用 People.first(100) 检索前 100 条记录,People.last(100) 也是如此。
我不知道,当总数为 1000 条记录时,我如何检索 200-400 范围内的所有对象?
【问题讨论】:
标签: ruby-on-rails arrays activerecord
您需要的是limit 和offset - 阅读this 了解更多信息。
例子:
People.limit(200).offset(200)
上面的代码从第 201 条记录开始获取 200 条记录 - 这意味着它将是 201-400 条记录。
【讨论】:
您是否在搜索特定字段,您的标题表明您正在搜索 id?
People.where('id BETWEEN ? AND ?', 200, 400)
或者...
People.where(id: 200..400)
如果您不是在特定字段上进行搜索,则可能需要使用 Big_Bird 的限制和偏移方法。
【讨论】: