Ich versuche, Menschen mit ihrer appRole aufzulisten. Hier ist der Controller:Übergebene Daten verloren in Laravel Paginator ab Seite 2
public function indexByAppRole(Request $request, $appRoleId)
{
$h1 = AppRole::where('id', $appRoleId)->first()->name;
return view('admin.people.index', [
'people' => $this->people->byAppRole($appRoleId),
'appRoles' => $this->appRoles->forAll(),
'h1' => 'Role: '. $h1,
]);
}
Paginator wird im Repository verwendet:
public function byAppRole($appRoleId)
{
return Person::where('person_app_role.app_role_id', $appRoleId)
->join('person_app_role', 'person_app_role.person_id', '=', 'people.id')
->select('people.*') // fix ID confusion but why?
->paginate(20);
}
Die Hauptansicht zeigt die zurück Menschen. In der Sidebar habe ich die folgende Liste als Nebennavigation:
<ul class="list-group nav nav-pills nav-stacked">
@foreach ($appRoles as $appRole)
<li>
<a href="{{ route('admin.people.appRole', ['appRoleId' => $appRole->id]) }}">{{ str_plural($appRole->name) }}</a>
</li>
@endforeach
</ul>
Die Navigationsliste funktioniert auf Seite 1 der Suchergebnisse oder Inserate, aber die Liste wird nicht angezeigt wird auf Seite 2 und nachfolgenden Seiten. Was habe ich falsch gemacht?
Warum Sie 'Paginate' nicht. Hier ist das Beispiel [http://tutsnare.com/how-to-create-pagination-in-laravel/] Siehe auch Laravel Dokumentation. [https://laravel.com/docs/5.3/pagination] – Manish
@Manish Ich habe Paginate im Repository verwendet. Ich habe den Text überarbeitet, um dies widerzuspiegeln. –
Wie sieht der Link zu Seite 2 aus? Es kann sein, dass einige get-Parameter fehlen. Wenn Sie get-Parameter verwenden, um Seite 1 zu erhalten, müssen Sie möglicherweise paginate (20) -> attends ('your get paramters) verwenden, um einen korrekten Link zu Seite 2 zu erhalten – rypskar