1. ホーム
  2. ruby-on-rails

[解決済み] activerecordで最後のN個のレコードを取得する方法は?

2022-04-20 18:26:09

質問

:limit のクエリで、私は最初のNレコードを取得します。最後のN個のレコードを取得する最も簡単な方法は何ですか?

どのように解決するのですか?

回答を更新しました(2020年)

を使用することで、直近のN件のレコードを簡単に取得することができます。 最後の というメソッドがあります。

Record.last(N)

User.last(5)

5人のユーザーをidの降順で返します。

非推奨 (古い回答)

このようなアクティブレコードクエリは、あなたが望むものを得ることができると思います('Something'はモデル名です)。

Something.find(:all, :order => "id desc", :limit => 5).reverse

編集 : コメントで指摘されているように、別の方法。

result = Something.find(:all, :order => "id desc", :limit => 5)

while !result.empty?
        puts result.pop
end