2016-05-24 3 views
2

J'ai de la difficulté à faire fonctionner ma pagination dans Laravel 5.2 J'utilise un foreach pour générer une liste d'objets où chaque objet a un certain classement. (Compétition)Laravel Custom Pagination

La première requête j'ai utilisé était celui-ci:

$goedeDoelen = GoedDoel::orderBy('punten', 'desc')->simplePaginate(5); 

Cela a fonctionné assez bien, seul problème était que mon classement réinitialisait tout ce que je voudrais aller à une autre page. Exemple: Page 1 a des objets de rang 1 - 5, la page 2 devrait avoir rangs 6-10. En utilisant la première méthode Paginate, la deuxième page aurait à nouveau des objets à partir de 1.

J'ai essayé de contourner ce problème en ajoutant le classement comme attribut supplémentaire à mes collections Eloquent. Puis j'ai essayé d'utiliser -> simplePaginate() sur ma collection mise à jour. Ensuite, j'ai essayé d'utiliser -> simplePaginate(). Cela a donné une erreur.

J'ai créé un paginateur personnalisé.

$goedeDoelen = new Paginator($ranking, 5); 

Cela ne fonctionne pas comme prévu. Quand je vais à ma deuxième page, l'URL se déconnecte et passe à une autre vue.

Comment puis-je assurer que le Paginator sait ce que mon URL actuelle est à laquelle il doit appliquer la? Page = 2

Répondre

0

Vous devez utiliser la méthode paginate().

$goedeDoelen = GoedDoel::orderBy('punten', 'desc')->paginate(5); 

{!! $goedeDoelen->links() !!} 
+0

J'ai essayé ceci. Je sais que ça fonctionne. Ce que j'ai essayé d'accomplir était d'ajouter un attribut à ma collection, et de paginer les collections mises à jour après. – LucasPoignon