2017-02-15 9 views
2

私はAPIを持つLaravelプロジェクトを持っています。いくつかのエンドポイント・コントローラーは、索引にページ番号を使用します。Laravel Eloquentページネーションパラメータをどのようにクエリするか?

ページ設定パラメータをクライアントに公開したいと思います。 理由は、最初の項目を尋ねる必要はなく、ページあたりのアイテムの数を把握するだけです(クライアントが何らかの理由で最初のX項目をスキップする場合など)。

私はpaginate(0)を試しましたが、これはデフォルトの16個です。

これを行う簡単な方法はありますか?

答えて

2

Paginator results to JSONに変換できます。

Route::get('users', function() { 
    return App\User::paginate(); 
}); 
:私たちは、このようなルートを持っている場合はそう、あなたは、リンク先のページによると、総アイテム数、ページ数、現在のページ、など

を含め、いくつかのメタデータを取得します

それはこのような何かを返します:

{ 
    "total": 50, 
    "per_page": 15, 
    "current_page": 1, 
    "last_page": 4, 
    "next_page_url": "http://laravel.app?page=2", 
    "prev_page_url": null, 
    "from": 1, 
    "to": 15, 
    "data":[ 
     { 
      // Result Object 
     }, 
     { 
      // Result Object 
     } 
    ] 
} 

は、私は、これはあなたが探しているものだろうと思います。

お手伝いします。

+0

こんにちはエリック、返信いただきありがとうございます。私はそれを試みましたが、 'paginate()'はデフォルトの項目数を返します(15)。私はそれが必要でない場合、データベースからデータを取得することを避けようとしていました。 –

+0

Hmmm、私はあなたが示した正確な例を試してみました。私は結果を取り出す前に実際のクエリで何かをしているに違いない。 –

+0

私は参照してください。だから、何かがポップアップしたら、もう一度尋ねてください:) –