プロジェクトページネーションを用いることが多いです。
Laravelはまた、改ページが付属しています。
しかし、時には彼らのニーズを満たすためにわずかな変更を必要としています。
通常のページング
1、のpaginate()メソッドを使用してコントローラ、。
$ユーザー= DB :: テーブル('ユーザー' )- > のpaginate (15 )。
あるいは単にページング
$ユーザー= DB :: テーブル('ユーザー' )- > simplePaginate (15 )。
2、ブレードテンプレートは、あなたが直接データクエリの結果を使用することができます
{ { $ユーザ- > リンク()} }、{ { $ユーザ- >レンダリング() } }
ページングスタイルはbootstampが来ます
3、カスタムページングURI
$ユーザー- > withPath ('カスタム/ URL' );
4、タブに追加するパラメータ
$ユーザー- > 追加([ 'ソート' = > '投票' ] )- > リンク()
第二に、カスタムのページング
1、カスタムページテンプレート
PHPの職人ベンダー:公開--tag = laravel、ページネーション
自動的にリソース/ビューディレクトリ内のページネーション/ディレクトリを作成します
これは、上記のディレクトリ内のテンプレートのコピー]タブを所有することになります。
2、テンプレートを変更
例えば、ディスプレイにリンク、ページコンテンツの数を変更します。
3、カスタムテンプレートを呼び出します
$のページネータ- > リンク('view.name' )
テンプレートパスなどのリンクパラメータ
ページの第三に、コレクション
多くの場合、クエリの結果は、ページング後にコレクションに対処する必要がある、とLaravelはサポートされていません。
上記の要件を達成するために、以下のわずかな変更、
1、プロセスの集合クエリ結果
$ユーザ = DB ::テーブル( 'ユーザ' )
- > を取得()
- > 各(関数($アイテム、$キー){
$アイテム - >合計= 11 ;
}) - >のpaginate(15)。
上記の処理が完了したら、ページが消えています。
で参加する2、ページング・サービス・プロバイダー
アプリ/プロバイダ/ AppServiceProvider.phpファイルで、
ヘッドを導入し、次のクラス
使用を照らし\改ページ\ページネータを。 使用を照らし\改ページ\ LengthAwarePaginatorを。 使用を照らし\サポート\コレクション。
次のコードの起動方法を追加
もし(!コレクション:: hasMacro( 'のpaginate' )){ コレクション ::マクロ( 'のpaginate'、 関数($ perPage = 15、$ページ = nullに、$オプション = []){ $ページ = $ページ:?(ページネータ:: resolveCurrentPage():1?); リターン(新LengthAwarePaginator( $この - > forPage($ページ、$ perPage)、$この - > 数()、$ perPage、$ページ、$オプション)) - > withPath( '' ); }); }
テストに移動したページが帰ってきました。