Ich habe einen Controller que die Produkte finden und zurück zur Ansicht. Aktuelle ich die Paginierung machen bin versucht, und ich bin mit dem folgenden Code:Laravel Paginierung render() funktioniert nicht
return $this->queryProductsAvailable()
->where('fornecedores.plano_id', $plano)
->select('produtos.*')
->paginate($limit);
Funktion queryProductsAvailabe:
private function queryProductsAvailable()
{
return Products::join('fornecedores', 'fornecedores.id', '=' ,'produtos.fornecedor_id')
->where('fornecedores.ativo', '1')
->where('produtos.moderacao', 'P')
->where('produtos.ativo' , '1')
->where('produtos.preco_min', '>', 0)
->select('produtos.*');
}
Seite zu Ich bin Rückkehr der folgende:
return view('Catalogo.index',
[
'products' => $products
]
);
Aber wenn ich die Methode $products->render()
ausführen passiert nichts.
Keine Fehler, keine Nachrichten ...
wenn ich $products->total()
ausgeführt wird, den Wert 0
zurückgegeben, wenn ich $products->nextPageUrl()
nichts laufen
die gleiche Variable geschieht verwendet, um dieses Verfahren für den Zugriff ist für die Schleife und Druck verwendet, der Produkte und die foreach funktioniert gut.
wenn ich auf die URL mit /?page=2
zugreifen funktioniert die Seitenumbruch, aber nicht Liste der Seiten rendern.
Irgendeine Idee?
---- ---- Edite
Der Code funktioniert wie folgt:
In meiner Seite gibt es Pläne (Pläne 5 Stufen), die die Produkte vor dem anderen aufgeführten machen sind , dann die Suche nach dem Produkt mache ich folgendes:
In der ersten Suche suche ich 30 Level-Produkte 5, wenn das Level 5 nicht 30 Produkte habe ich überprüfen, wie viele Produkte zur Abfrage gebracht, reduzieren ich die 30 und suchen mehr Produkt im Plan 4, um die 30 Produkte und so weiter zu vervollständigen.
In diesem Prozess, wenn wir einen Plan, den ich den Push-methodo verwenden verringern die Sammlung hinzuzufügen und, wann immer es die Abnahme des Plan ist, wird das Paginieren Limit auch geändert werden ...
Also ich habe zwei Punkte, die dieses Problem verursachen können, die erste ist die Push-Methode und die zweite in der Tat die Reduzierung des Plans und suchen Sie mehr Produkte mit einem anderen paginate der erste war 30.
Andere als das meine Abfrage auch Produkte suchen Zufällig glaube ich, dass ich mein eigenes paginate entwickeln muss, um alle meine Anforderungen zu erfüllen ...
Vielen Dank alle
Wie viele Ergebnisse erwarten Sie? 'render()' wird nichts tun, wenn Sie weniger als die Anzahl der Ergebnisse haben, die Sie paginieren. – user3158900
hi @ user3158900. Mein Paginat erhält den Wert 30 und die Variable 30 Produkte. in der Datenbank existiert 500 Produkte. – Dayglor