How to Create Laravel Database Notification with Example Part 2
In the second part of this tutorial, we will see how to notify the user when his post is removed by the admin, next we will display the user notifications.
Trigger the notification
To trigger the notification we call the "notify" method inside the destroy method of our controller.
public function destroy(Post $post)
{
//
if(auth()->user()->isAdmin){
$post->user->notify(new PostRemoved($post));
}
$post->delete();
return redirect()->route('home')->with([
'message' => 'Post deleted successfully'
]);
}
Display user notifications
Next, to display user notifications you can use the "notifications" relationship.
foreach (auth()->user()->notifications as $notification) {
echo $notification->title;
}
Display unread notifications
Next, to display unread notifications you can use the "unreadNotifications" relationship.
foreach (auth()->user()->unreadNotifications as $notification) {
echo $notification->title;
}
Mark laravel notification as read
Next, to mark a Laravel notification as read you find it by id and you use the method "markAsRead" to mark it as read.
auth()->user()->unreadNotifications->where('id', $id)->markAsRead();
Count laravel notifications
Finally, to count the number of all notifications or only unread notifications use the "count" method.
auth()->user()->notifications->count();
auth()->user()->unreadNotifications->count();