Rails:获取第n个表记录

时间:2016-06-20 18:13:32

标签: ruby-on-rails activerecord rails-activerecord

我知道我可以在命令行中找到我的数据库中的第一个用户,

User.first

我可以用

找到最后一个
User.last

我的问题是如何在数据库中调用第11个用户。

3 个答案:

答案 0 :(得分:2)

您可以offset使用order

User.offset(10).order(:id).first

答案 1 :(得分:2)

你可以这样做:

User.limit(1).offset(10)

这会将工作减少到如下所示的SQL语句:

SELECT  `users`.* FROM `users`  LIMIT 1 OFFSET 10

使用all将需要将所有用户加载到内存中,然后在该数组中找到第11个用户。相当昂贵。

答案 2 :(得分:-1)

你可以做到

User.all[10]

User.all为您提供索引从0开始的一个或多个对象。要访问第11个用户,您可以这样做。