Maison >cadre php >Laravel >Développement Laravel : Comment paginer des données avec Laravel Pagination ?

Développement Laravel : Comment paginer des données avec Laravel Pagination ?

PHPz
PHPzoriginal
2023-06-13 14:17:541848parcourir

Développement Laravel : Comment utiliser Laravel Pagination pour paginer des données ?

Laravel est un framework PHP puissant qui aide les développeurs à créer rapidement des applications Web de haute qualité. Dans les applications Laravel, il est souvent nécessaire d'afficher les données dans des pages. Laravel fournit une classe de pagination puissante - Laravel Pagination, qui rend la pagination des données très simple.

Dans cet article, je vais vous montrer comment paginer des données à l'aide de Laravel Pagination.

1. Installez Laravel

Avant de commencer à utiliser Laravel Pagination, vous devez d'abord installer Laravel. Vous pouvez installer Laravel via Composer à l'aide de la commande suivante :

composer create-project --prefer-dist laravel/laravel your-project-name

2. Créez des fichiers de migration de modèle et de base de données

Avant de commencer la pagination des données, vous devez préparer certaines données. Dans cet exemple, nous utiliserons les données « Articles ». Nous devons créer un modèle appelé « Article » et un fichier de migration de base de données. Vous pouvez les créer à l'aide de la commande suivante :

php artisan make:model Article -m

Après avoir exécuté cette commande, un modèle nommé "Article" et un fichier de migration nommé "create_articles_table" seront générés. Ouvrez le fichier de migration et définissez le schéma de la table "articles". Dans cet exemple, nous utiliserons le code suivant :

Schema::create('articles', function (Blueprint $table) {
    $table->id();
    $table->string('title');
    $table->text('content');
    $table->timestamps();
});

Exécutez la commande suivante pour exécuter la migration :

php artisan migrate

3. Générer des données de test

#🎜🎜. #In Avant de commencer à paginer les données, nous avons besoin de quelques données de test. Vous pouvez utiliser le code suivant pour générer des données de test :

factory(AppArticle::class, 50)->create();

Ce code créera 50 enregistrements "article" et les enregistrera dans la base de données.

4. Données de pagination

Maintenant, nous sommes prêts à commencer la pagination des données. Dans Laravel, nous pouvons facilement paginer des données à l'aide de la classe Laravel Pagination. Voici un exemple de méthode de contrôleur qui récupèrera les données "Article" de la base de données et les paginera :

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

    return view('articles.index', compact('articles'));
}

Dans cet exemple, nous utilisons la méthode paginate du modèle Article pour obtenir 10 de la base de données "Article" enregistrez-le et transmettez-le à la vue. La méthode paginate renverra une instance de Paginator, qui possède les méthodes courantes suivantes :

    total : le nombre total d'enregistrements de données.
  • perPage : Le nombre d'enregistrements de données affichés par page.
  • currentPage : Numéro de la page actuelle.
  • lastPage : Le numéro de page de la dernière page.
  • nextPageUrl : URL de la page suivante.
  • previousPageUrl : URL de la page précédente.
Dans une vue, vous pouvez facilement générer des liens de pagination en utilisant le code suivant :

{{ $articles->links() }}

Cela générera des liens de pagination de base, vous pourrez également utiliser d'autres options pour personnaliser Définir des liens de pagination.

5. Style de pagination personnalisé

Par défaut, les liens de pagination générés par Laravel sont affichés sous forme de texte simple. Si vous souhaitez personnaliser le style de vos liens de pagination, vous pouvez facilement générer des liens de pagination HTML personnalisés à l'aide du moteur de modèles Blade de Laravel. Voici un exemple :

<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>

Dans cet exemple, nous utilisons la syntaxe des directives @if et @endif de Laravel pour vérifier si nous sommes actuellement sur la première page et générer un bouton "Page précédente". Nous utilisons également les méthodes $paginator->nextPageUrl() et $paginator->previousPageUrl() pour générer des liens vers les boutons "page suivante" et "page précédente".

6. Résumé

Dans cet article, je vous ai présenté comment utiliser Laravel Pagination pour paginer facilement des données. J'ai montré comment générer une instance de Paginator, comment afficher les liens de pagination de base et comment personnaliser le style des liens de pagination. J'espère que cela aide!

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn