獲取第一個和最後一個記錄
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