Heim >PHP-Framework >Laravel >Laravel-Entwicklung: Wie paginiert man Daten mit Laravel Pagination?

Laravel-Entwicklung: Wie paginiert man Daten mit Laravel Pagination?

PHPz
PHPzOriginal
2023-06-13 14:17:541848Durchsuche

Laravel-Entwicklung: Wie verwende ich Laravel Pagination zum Paginieren von Daten?

Laravel ist ein leistungsstarkes PHP-Framework, das Entwicklern hilft, schnell hochwertige Webanwendungen zu erstellen. In Laravel-Anwendungen ist es oft notwendig, Daten in Seiten anzuzeigen. Laravel bietet eine leistungsstarke Paginierungsklasse – Laravel Pagination –, die das Paginieren von Daten sehr einfach macht.

In diesem Artikel zeige ich Ihnen, wie Sie Daten mit Laravel Pagination paginieren.

1. Installieren Sie Laravel

Bevor Sie Laravel Pagination verwenden, müssen Sie zuerst Laravel installieren. Sie können Laravel über Composer mit dem folgenden Befehl installieren:

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

2. Erstellen Sie Modell- und Datenbankmigrationsdateien

Bevor Sie mit der Paginierung von Daten beginnen, müssen Sie einige Daten vorbereiten. In diesem Beispiel verwenden wir die Daten „Artikel“. Wir müssen ein Modell namens „Article“ und eine Datenbankmigrationsdatei erstellen. Sie können sie mit dem folgenden Befehl erstellen:

php artisan make:model Article -m

Nach der Ausführung dieses Befehls werden ein Modell mit dem Namen „Article“ und eine Migrationsdatei mit dem Namen „create_articles_table“ generiert. Öffnen Sie die Migrationsdatei und definieren Sie das Schema für die Tabelle „Artikel“. In diesem Beispiel verwenden wir den folgenden Code:

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

Führen Sie den folgenden Befehl aus, um die Migration auszuführen:

php artisan migrate

3. Testdaten generieren

Bevor wir mit der Paginierung der Daten beginnen, benötigen wir einige Testdaten. Sie können den folgenden Code verwenden, um einige Testdaten zu generieren:

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

Dieser Code erstellt 50 „Artikel“-Datensätze und speichert sie in der Datenbank.

4. Paging-Daten

Jetzt können wir mit dem Paging von Daten beginnen. In Laravel können wir Daten mithilfe der Laravel Pagination-Klasse problemlos paginieren. Hier ist eine Beispiel-Controller-Methode, die die „Article“-Daten aus der Datenbank abruft und sie paginiert:

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

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

In diesem Beispiel verwenden wir die Paginate-Methode des Article-Modells, um 10 „Article“-Datensätze aus der Datenbank abzurufen und zu übergeben zur Aussicht. Die paginate-Methode gibt eine Paginator-Instanz zurück, die über die folgenden gängigen Methoden verfügt:

  • total: die Gesamtzahl der Datensätze.
  • perPage: Die Anzahl der pro Seite angezeigten Datensätze.
  • currentPage: aktuelle Seitenzahl.
  • lastPage: Die Seitenzahl der letzten Seite.
  • nextPageUrl: URL der nächsten Seite.
  • previousPageUrl: URL der vorherigen Seite.

In einer Ansicht können Sie mit dem folgenden Code ganz einfach Paginierungslinks generieren:

{{ $articles->links() }}

Dadurch werden grundlegende Paginierungslinks generiert. Sie können die Paginierungslinks auch mit anderen Optionen anpassen.

5. Benutzerdefinierter Paginierungsstil

Standardmäßig werden die von Laravel generierten Paginierungslinks als einfacher Text angezeigt. Wenn Sie den Stil Ihrer Paginierungslinks anpassen möchten, können Sie mit der Blade-Vorlagen-Engine von Laravel ganz einfach benutzerdefinierte HTML-Paginierungslinks generieren. Hier ist ein Beispiel:

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

In diesem Beispiel verwenden wir die @if- und @endif-Anweisungssyntax von Laravel, um zu überprüfen, ob wir uns derzeit auf der ersten Seite befinden, und generieren eine Schaltfläche „Vorherige Seite“. Wir verwenden auch die Methoden $paginator->nextPageUrl() und $paginator-> previousPageUrl(), um Links zu den Schaltflächen „Nächste Seite“ und „Vorherige Seite“ zu generieren.

6. Zusammenfassung

In diesem Artikel habe ich Ihnen vorgestellt, wie Sie mit Laravel Pagination Daten einfach paginieren können. Ich habe gezeigt, wie man eine Paginator-Instanz generiert, wie man grundlegende Paginierungslinks anzeigt und wie man den Stil von Paginierungslinks anpasst. Hoffe das hilft!

Das obige ist der detaillierte Inhalt vonLaravel-Entwicklung: Wie paginiert man Daten mit Laravel Pagination?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn