Ruby on rails 通过ActiveRecord的ID范围
我知道我可以使用Ruby on rails 通过ActiveRecord的ID范围,ruby-on-rails,arrays,activerecord,Ruby On Rails,Arrays,Activerecord,我知道我可以使用People.first(100)检索前100条记录,对People.last(100)也是如此 我不知道的是,当总数为1000条记录时,如何检索200-400范围内的所有对象?如果您在搜索特定字段,您的标题表明您在搜索id People.where('id BETWEEN ? AND ?', 200, 400) 或者 如果您没有在特定字段上搜索,您可能希望使用Big_Bird的限制和偏移方法。您需要的是限制和偏移-阅读了解更多信息 例如: People.limit(200).
People.first(100)
检索前100条记录,对People.last(100)
也是如此
我不知道的是,当总数为1000条记录时,如何检索200-400范围内的所有对象?如果您在搜索特定字段,您的标题表明您在搜索id
People.where('id BETWEEN ? AND ?', 200, 400)
或者
如果您没有在特定字段上搜索,您可能希望使用Big_Bird的限制和偏移方法。您需要的是
限制
和偏移
-阅读了解更多信息
例如:
People.limit(200).offset(200)
上述代码从201st记录开始获取200条记录-这意味着它将是记录201-400。请记住,这不会返回范围内的值,它将返回从201st记录开始的200条记录。假设您删除了50条id在200到400之间的记录,您将获得200条记录,但您的记录的id可能在200到450之间。这有意义吗?因此,limitoffset方法确保获得200条记录,但如果要查找一系列ID(或其他字段),则可以使用where方法。
People.limit(200).offset(200)