Метод paginate в Laravel
Чтобы получить одну страницу записей,
вместо get или all
вызывают paginate. Ему передают,
сколько элементов показать на одной
странице:
<?php
namespace App\Http\Controllers;
use App\Models\Post;
class PostController extends Controller
{
public function index()
{
$posts = Post::paginate(10);
return view('posts.index', [
'posts' => $posts,
]);
}
}
?>
Laravel сам посмотрит GET-параметр
page и выберет нужную порцию:
для /posts - первая страница,
для /posts?page=2 - вторая.
В представление передают весь объект пагинатора, а не «голый» массив. Его можно обойти циклом как коллекцию, а позже через него же выведут ссылки на страницы.
Получите посты методом paginate
по 5 штук и передайте их в Blade.
В представлении выведите заголовки постов текущей страницы циклом.