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 インスタンスを返します:
ビューでは、次のコードを使用してページネーション リンクを簡単に生成できます。
{{ $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 サイトの他の関連記事を参照してください。