2

ist es möglich, 'Limit' Parameter in paginate() -Funktion zu verwenden?Verwenden Limit Parameter in Paginate-Funktion in Laravel

Ich versuche dies:

$users->where(...)->limit(50)->paginate($page) 

... und jetzt, wenn ich 100 Benutzer in der Datenbank haben dann die Antwort von Paginieren Funktion werden alle 100 Benutzer statt 50 (oder Anzahl der Nutzer sein definiert mit Limit-Parameter).

Meine Frage ist also: Ist es möglich, Limit-Parameter zu implementieren, wenn ich die Paginate-Funktion verwende?

Mit freundlichen Grüßen, Dank

Antwort

0

Ja, es ist möglich! Das erste Beispiel des paginate documentation ist das, was Sie suchen:

$users->where(....)->paginate(50) 
+0

der erste Parameter für Paginieren ist perpage, ich will für insgesamt Artikel Grenze verwenden, nicht für die erste Seite nur. Ich meine, wenn ich 100 Benutzer in der Datenbank habe, und wenn ich Limit auf 50 setze, dann sollte die Antwort total => 50, nicht 100 sein :) –

1

Abfrage Paginierung verwendet skip() und limit() intern die richtigen Datensätze auszuwählen. Alle auf die Abfrage angewendeten limit() werden durch die Paginierungsanforderungen überschrieben.

Wenn Sie eine Teilmenge von Ergebnissen paginieren möchten, müssen Sie zuerst die Ergebnisse abrufen und dann manuell einen Paginator für diese Ergebnisse erstellen.

0

Standardmäßig wird die aktuelle Seite durch den Wert des Seitenabfragezeichenfolgenarguments in der HTTP-Anforderung erkannt. Dieser Wert wird von Laravel automatisch erkannt und automatisch in die vom Paginator erzeugten Links eingefügt.

So informieren Seite und Paginierung und es sollte alles in Ordnung sein.

0

Verwenden Sie LengthAwarePaginator.

Beispiel:

$total = 50; 
$perPage = 10; 
$users = $users->where(...)->paginate($page); 

$users = new LengthAwarePaginator(
    $users->toArray()['data'], 
    $users->total() < $total ? $users->total() : $total, 
    $perPage, 
    $page 
); 
Verwandte Themen