2016-09-07 5 views
2

Wir wissen, dass Benachrichtigungen in Laravel 5.3 über viele Kanäle gesendet werden können und in der Datenbank speichern können.Wie paginiert Laravel 5.3 Datenbank Benachrichtigungen

Und wir wissen, dass alle Benachrichtigungen von einem Benutzer holen können und ihnen zeigen, wie folgt aus:

$user = App\User::find(1); 

foreach ($user->notifications as $notification) { 
    echo $notification->type; 
} 

Aber nehmen wir an Fall, dass ich eine AllNotifications-Seite, die alle Benachrichtigungen von einem Benutzer anzeigen, und ich möchte, dass Paginieren .

Gibt es eine Möglichkeit, Benachrichtigungen paginieren?

Update:
Nach themsaid answer on github ich den Code versucht:

Sie können vom Benutzer $ verwenden> Benachrichtigungen() -> Paginieren(), die HasDatabaseNotifications Eigenschaft hat eine regelmäßige morphMany Beziehung.

Erstes Problem ist gelöst Aber ein anderes Problem ist aufgetreten.

Ich habe drei notif und $user->notifications()->paginate(2) verwendet, dann Seiten Links zeigen auf der ersten Seite, aber es zeigt nicht auf der zweiten Seite und in diesem Fall konnte ich nicht zu anderen Seiten navigieren. Warum?

Hinweis: fand ich, dass oben genannte Problem ist nicht in Laravel 5.3.4 Aber es gibt in 5.3.6

+0

Wie angezeigten Sie die Benachrichtigungen vielleicht? –

Antwort

2

Try this:

$page = 2; /* Actual page */ 

$limit = 4; /* Limit per page*/ 

\Auth::user()->notifications()->offset($page*$limit)->limit($limit)->get();