Laravel - 特別ページ

プロジェクトページネーションを用いることが多いです。

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( '' ); 
                }); 
        }

 

テストに移動したページが帰ってきました。

 

おすすめ

転載: www.cnblogs.com/rendd/p/11617348.html