ホームページ > PHPフレームワーク > Laravel > Laravel 開発: Laravel ページネーションを使用してデータをページネーションする方法?

Laravel 開発: Laravel ページネーションを使用してデータをページネーションする方法?

PHPz
リリース: 2023-06-13 14:17:54
オリジナル
1857 人が閲覧しました

Laravel 開発: Laravel ページネーションを使用してデータをページネーションする方法は?

Laravel は、開発者が高品質の Web アプリケーションを迅速に構築できるようにする強力な PHP フレームワークです。 Laravel アプリケーションでは、多くの場合、データをページに表示する必要があります。 Laravel は、データのページングを非常に簡単にする強力なページネーション クラスである Laravel Pagination を提供します。

この記事では、Laravel Pagination を使用してデータをページネーションする方法を説明します。

1. Laravel のインストール

Laravel ページネーションを使い始める前に、まず Laravel をインストールする必要があります。次のコマンドを使用して、Composer を通じて Laravel をインストールできます:

composer create-project --prefer-dist laravel/laravel your-project-name
ログイン後にコピー

2. モデルとデータベースの移行ファイルを作成します

データのページングを開始する前に、いくつかのデータを準備する必要があります。この例では、「記事」データを使用します。 「Article」というモデルとデータベース移行ファイルを作成する必要があります。次のコマンドを使用して作成できます。

php artisan make:model Article -m
ログイン後にコピー

このコマンドを実行すると、「Article」という名前のモデルと「create_articles_table」という名前の移行ファイルが生成されます。移行ファイルを開き、「articles」テーブルのスキーマを定義します。この例では、次のコードを使用します:

Schema::create('articles', function (Blueprint $table) {
    $table->id();
    $table->string('title');
    $table->text('content');
    $table->timestamps();
});
ログイン後にコピー

次のコマンドを実行して移行を実行します:

php artisan migrate
ログイン後にコピー

3. テスト データを生成します

ページングを開始する前に、データ、テストデータが必要です。次のコードを使用してテスト データを生成できます。

factory(AppArticle::class, 50)->create();
ログイン後にコピー

このコードは 50 個の「記事」レコードを作成し、データベースに保存します。

4. ページング データ

これで、データのページングを開始する準備が整いました。 Laravelでは、Laravel Paginationクラスを使用してデータを簡単にページネーションできます。以下は、データベースから「Article」データを取得してページ付けするサンプル コントローラー メソッドです:

public function index()
{
    $articles = Article::paginate(10);

    return view('articles.index', compact('articles'));
}
ログイン後にコピー

この例では、Article モデルの paginate メソッドを使用して、データベースから 10 個の「Articles」を取得します。 」を記録してビューに渡します。 paginate メソッドは、次の共通メソッドを持つ Paginator インスタンスを返します:

  • total: データ レコードの総数。
  • perPage: ページごとに表示されるデータ レコードの数。
  • currentPage: 現在のページ番号。
  • lastPage: 最後のページのページ番号。
  • nextPageUrl: 次のページの URL。
  • previousPageUrl: 前のページの URL。

ビューでは、次のコードを使用してページネーション リンクを簡単に生成できます。

{{ $articles->links() }}
ログイン後にコピー

これにより、基本的なページネーション リンクが生成されます。他のオプションを使用してページネーション リンクをカスタマイズすることもできます。

5. カスタム ページング スタイル

デフォルトでは、Laravel によって生成されたページング リンクは単純なテキストとして表示されます。ページネーションリンクのスタイルをカスタマイズしたい場合は、Laravel の Blade テンプレートエンジンを使用してカスタム HTML ページネーションリンクを簡単に生成できます。以下に例を示します:

<div class="pagination">
    <ul>
        {{-- Previous Page Link --}}
        @if ($paginator->onFirstPage())
            <li class="disabled" aria-disabled="true">
                <span>@lang('pagination.previous')</span>
            </li>
        @else
            <li>
                <a href="{{ $paginator->previousPageUrl() }}" rel="prev">@lang('pagination.previous')</a>
            </li>
        @endif

        {{-- Next Page Link --}}
        @if ($paginator->hasMorePages())
            <li>
                <a href="{{ $paginator->nextPageUrl() }}" rel="next">@lang('pagination.next')</a>
            </li>
        @else
            <li class="disabled" aria-disabled="true">
                <span>@lang('pagination.next')</span>
            </li>
        @endif
    </ul>
</div>
ログイン後にコピー

この例では、Laravel の @if および @endif ディレクティブ構文を使用して、現在最初のページにいるかどうかを確認し、「前のページ」ボタンを生成します。また、$paginator->nextPageUrl() メソッドと $paginator->previousPageUrl() メソッドを使用して、「次のページ」ボタンと「前のページ」ボタンへのリンクを生成します。

6. まとめ

この記事では、Laravel Pagination を使用してデータを簡単にページネーションする方法を紹介しました。 Paginator インスタンスを生成する方法、基本的なページネーション リンクを表示する方法、およびページネーション リンクのスタイルをカスタマイズする方法を説明しました。お役に立てれば!

以上がLaravel 開発: Laravel ページネーションを使用してデータをページネーションする方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート