LaravelのELOQUENT ORMで結果を「制限」する方法はありますか?


回答:


241

Eloquentを拡張するゲームモデルを作成し、これを使用します。

Game::take(30)->skip(30)->get();

take()ここでは30レコードが取得skip()され、30レコードにオフセットされます。


最近のLaravelバージョンでは、次のものも使用できます。

Game::limit(30)->offset(30)->get();

ここでLaravel ORM関連の質問を確認するように頼むことができます:stackoverflow.com/questions/59956706/…
Istiaque Ahmed

17

結果をページ分割したい場合は、統合されたページネーターを使用してください。

$games = Game::paginate(30);
// $games->results = the 30 you asked for
// $games->links() = the links to next, previous, etc pages

3
これは本当に素晴らしいです!ブートストラップを使用すると、文字通り必要なすべてのコードは、コントローラーの$ games = Game :: paginate(30)とビューの{{$ games-> links()}}です。すべての処理を行います。ララヴェル大好き!
david_nash 2017


0

また、次の方法で使用できます

最初にのみ取得するには

 $cat_details = DB::table('an_category')->where('slug', 'people')->first();

限界とオフセットを取得するには

$top_articles = DB::table('an_pages')->where('status',1)->limit(30)->offset(0)->orderBy('id', 'DESC')->get();
$remaining_articles = DB::table('an_pages')->where('status',1)->limit(30)->offset(30)->orderBy('id', 'DESC')->get();
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.