where('user_id', $user->id) ->orderByDesc('created_at') ->orderByDesc('id') ->paginate($perPage); } public function unreadCount(User $user): int { return Notification::query() ->where('user_id', $user->id) ->where('is_read', false) ->count(); } public function markAsRead(Notification $notification): void { $notification->update(['is_read' => true]); } public function markAllAsRead(User $user): void { Notification::query() ->where('user_id', $user->id) ->where('is_read', false) ->update(['is_read' => true]); } public function delete(Notification $notification): bool { return $notification->delete(); } public function deleteAll(User $user): void { Notification::query()->where('user_id', $user->id)->delete(); } }