web-dev-qa-db-ja.com

Laravel:DBから最後のN個のエントリを取得する方法

DBに犬のテーブルがあり、_N latest added dogs_を取得したい。

私が見つけた唯一の方法は次のようなものです:

_Dogs:all()->where(time, <=, another_time);
_

別の方法がありますか?たとえば、次のようなDogs:latest(5);

助けてくれてありがとう:)

34
Jakub Kohout

次のようなものを試すことができます:

$dogs = Dogs::orderBy('id', 'desc')->take(5)->get();

orderBy順序でDescendingを使用し、最初のn個のレコードを取得します。

78
The Alpha

清潔さのための私のソリューションは:

Dogs::latest()->take(5)->get();

組み込みのメソッドを使用して一般的なプラクティスを処理するだけで、他の回答と同じです。

11
GoogleMac
Dogs::orderBy('created_at','desc')->take(5)->get();
7
Luca C.

次のようにすることもできます。

$recentPost = Article::orderBy('id', 'desc')->limit(5)->get();

Laravel 5.6でうまく動作しています

3
Bablu Ahmed

私はarray_slice()メソッドを使用して同じ結果を達成するのに役立つソリューションを考え出しました。私のコードでは、array_slice( PickupResults::where('playerID', $this->getPlayerID())->get()->toArray(), -5 );-5クエリの最後の5つの結果が必要でした。

0
Kray