获取第一个和最后一个记录
Rails 有很简单的方法从数据库中获取 first
和 last
记录。
要从 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 >
将整数传递给 first 和 last 方法会创建 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