Erhalten Sie die Gesamtzahl der Ergebnisse mit Paginierung

Lesezeit: 2 Minuten

Ich möchte die Gesamtzahl der Benutzer auf einer Seite abrufen, auf der alle Benutzer aufgelistet sind. Diese Seite sollte paginiert werden.

Bisher ist mir folgendes eingefallen:

Regler

$users = User::paginate(10);
return View::make('index', compact('users'));

Aussicht:

{{{ count($users) }}}

Aber das gibt mir nur die Anzahl der Benutzer für die aktuelle Seite. Ich möchte die gesamte Ergebnismenge zählen, möglichst ohne ein weiteres Mal die Datenbank abzufragen.

  • Gibt es einen Grund, warum Sie meine Antwort abgelehnt haben? Wenn etwas nicht funktioniert, sag es mir bitte, damit ich dir helfen kann 🙂

    – Lukasgeiter

    12. Februar 2015 um 7:29 Uhr

  • Oh, Entschuldigung, ich muss auf einer nicht aktualisierten Seite erneut auf das Akzeptieren-Symbol geklickt haben. Es funktioniert großartig!

    – PeterUnbesiegbar

    12. Februar 2015 um 11:03 Uhr

Benutzer-Avatar
Lukasgeiter

Verwenden Sie in Laravel 4:

{{ $users->getTotal() }}

Dokumente


Verwenden Sie in Laravel 5 und höher:

{{ $users->total() }}

Dokumente

Benutzer-Avatar
Sunil kumawat

Regler

$products = ProductMaster::paginate(10); //1 page with 10 products

return view('index',compact('products'));

Aussicht

 {{ $products->total() }}   //show total products in your database

Benutzer-Avatar
Chetan

So erhalten Sie die Gesamtsumme aller Artikel

$paginator->total() Bestimmen Sie die Gesamtzahl der übereinstimmenden Elemente im Datenspeicher. (Nicht verfügbar bei Verwendung von simplePaginate).

So erhalten Sie die aktuelle Seitensumme

$paginator->count() Holen Sie sich die Anzahl der Elemente für die aktuelle Seite.

Beispiel

Regler

$users = User::paginate(10); //1 page with 10 products
return view('users', compact("users"));

Aussicht:

{{ $users->total() }} //show total users in your database

  • Wenn Sie eine Antwort auf eine fünf Jahre alte Frage mit einer akzeptierten Antwort hinzufügen, ist es wichtig, darauf hinzuweisen, welchen neuen Aspekt der Frage Ihre Antwort anspricht.

    – Jason Aller

    16. Juli 2020 um 18:20 Uhr

Auf Laravel 8x werden diese Daten auch in der Antwort zurückgegeben.

https://laravel.com/docs/8.x/pagination#introduction

Der JSON-Code des Paginators enthält Metainformationen wie Gesamtzahl, aktuelle_Seite, letzte_Seite und mehr. Die Ergebnisdatensätze sind über den Datenschlüssel im JSON-Array verfügbar. Hier ist ein Beispiel für JSON, das durch Zurückgeben einer Paginator-Instanz von einer Route erstellt wurde:

{
   "total": 50,
   "per_page": 15,
   "current_page": 1,
   "last_page": 4,
   "first_page_url": "http://laravel.app?page=1",
   "last_page_url": "http://laravel.app?page=4",
   "next_page_url": "http://laravel.app?page=2",
   "prev_page_url": null,
   "path": "http://laravel.app",
   "from": 1,
   "to": 15,
   "data":[
        {
            // Record...
        },
        {
            // Record...
        }
   ]
}

für Gesamtergebnisse {{ $results->total() }}

für das erste Element der aktuellen Seite {{ $results->firstItem() }}

für das letzte Element der aktuellen Seite {{ $results->lastItem() }}

für aktuelle Seite {{ $results->currentPage() }}

1215740cookie-checkErhalten Sie die Gesamtzahl der Ergebnisse mit Paginierung

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy