获取第一个和最后一个记录

Rails 有很简单的方法从数据库中获取 firstlast 记录。

要从 users 表中获取 first 记录,我们需要输入以下命令:

User.first

它将生成以下 sql 查询:

SELECT  `users`.* FROM `users`  ORDER BY `users`.`id` ASC LIMIT 1

并将返回以下记录:

#<User:0x007f8a6db09920 id: 1, first_name: foo, created_at: Thu, 16 Jun 2016 21:43:03 UTC +00:00, updated_at: Thu, 16 Jun 2016 21:43:03 UTC +00:00 >

要从 users 表中获取 last 记录,我们需要输入以下命令:

User.last

它将生成以下 sql 查询:

SELECT  `users`.* FROM `users`  ORDER BY `users`.`id` DESC LIMIT 1

并将返回以下记录:

#<User:0x007f8a6db09920 id: 10, first_name: bar, created_at: Thu, 16 Jun 2016 21:43:03 UTC +00:00, updated_at: Thu, 16 Jun 2016 21:43:03 UTC +00:00 >

将整数传递给 firstlast 方法会创建 LIMIT 查询并返回对象数组。

User.first(5)

它将生成以下 sql 查询。

SELECT  "users".* FROM "users"  ORDER BY "users"."id" ASC LIMIT 5

User.last(5)

它将生成以下 sql 查询。

SELECT  "users".* FROM "users"  ORDER BY "users"."id" DESC LIMIT 5