2016-09-06 5 views
3

Wie paginieren Sie nur eine Sammlung auf einer Seite? Lassen Sie mich erklären.Laravel Paginierung ein Modell auf einmal

Mein Controller hat 2 Aufrufe an die Datenbank:

$users = User::whereAvailable(1)->paginate(10); 
$cars = Cars::whereAvailable(1)->paginate(10); 

Aus meiner Sicht habe ich 2 Tabs ihre jeweiligen Ergebnisse anzuzeigen und eine

{!! $users->render() !!} unter einem Tab und {!! $cars->render() !!} für die andere Registerkarte. Wenn ich zu Autos gehe und auf die nächste Seite klicke, springt der Paginator zur nächsten Seite beider Modelle.

Meine Frage ist, wie gehe ich nur auf die nächste Seite auf einem der Modelle auf einmal?

Antwort

1

Sie können das $pageName Parameter in Ihrer paginate() Funktion:

https://laravel.com/api/5.3/Illuminate/Database/Eloquent/Builder.html#method_paginate

$users = User::whereAvailable(1)->paginate(10, ['*'], 'userPage'); $cars = Cars::whereAvailable(1)->paginate(10, ['*'], 'carPage');

Dadurch wird ihnen jeder Parameter ihre eigene Abfrage verwenden

+0

Das ist genau das, was ich brauchte! Danke für die Hilfe, du hast mir viel Zeit und Frust erspart. – max234435