据我所知,我可以使用People.first(100)
检索前100条记录,People.last(100)
也是如此。通过ActiveRecord的ID范围
我不知道的是,我怎样检索范围在200-400的所有对象,总数是多少可以说一个1000条记录?
据我所知,我可以使用People.first(100)
检索前100条记录,People.last(100)
也是如此。通过ActiveRecord的ID范围
我不知道的是,我怎样检索范围在200-400的所有对象,总数是多少可以说一个1000条记录?
你需要的是limit
和offset
- 阅读this了解更多信息。
实施例:
People.limit(200).offset(200)
上面的代码需要200个记录从第201位开始记录 - 这意味着它是记录201-400。
您是否在特定字段上搜索,您的标题暗示您在搜索ID?
People.where('id BETWEEN ? AND ?', 200, 400)
或...
People.where(id: 200..400)
如果你不是在某一特定领域搜索,你会想用Big_Bird的限制和偏移方法。
请记住,这不会返回范围内的值,它将返回从第201条记录开始的200条记录。因此,假设你已经删除了50个记录,其ID为200到400,你将获得200条记录,但是你的记录可能有200到450之间的任何一个记录。这是否有意义?所以limit-offset方法可以确保您获得200条记录,但是如果您正在寻找一系列id(或其他字段),您可以使用where方法。 –