Достатньо викликати paginate() замість get() - Laravel сам читає номер сторінки з query-параметра ?page=:
$posts = Post::latest()->paginate(15);
@foreach ($posts as $post) ... @endforeach
{{ $posts->links() }} {{-- кнопки навігації --}}
paginate()рахує загальну кількість (показує «сторінка X з Y»).simplePaginate()- лише «вперед/назад», безCOUNT(*), швидше на великих таблицях.cursorPaginate()- курсорна пагінація, найефективніша для нескінченного скролу.