{{ $posts->onEachSide(3)->links() }}
Ось приклад реалізації адаптивної пагінації:
<?php
namespace App\Http\Controllers;
use App\Models\Article;
use Illuminate\Http\Request;
class ArticleController extends Controller
{
public function index(Request $request)
{
$perPage = $this->determinePerPage($request);
$articles = Article::latest()
->withCount('comments')
->paginate($perPage);
// Налаштуйте видимі посилання залежно від загальної кількості сторінок
$linksToShow = $this->calculateVisibleLinks($articles);
return view('articles.index', [
'articles' => $articles->onEachSide($linksToShow)
]);
}
private function determinePerPage(Request $request): int
{
return $request->query('show', 10);
}
private function calculateVisibleLinks($paginator): int
{
$totalPages = $paginator->lastPage();
// Показати більше посилань для більших наборів даних
return match(true) {
$totalPages > 20 => 3, // « 1 ... 4 5 6 7 8 9 10 ... 25 »
$totalPages > 10 => 2, // « 1 ... 4 5 6 7 8 ... 15 »
default => 1 // « 1 2 3 4 5 »
};
}
}
При рендерингу сторінки користувачі побачать оптимізовану кількість посилань на сторінки залежно від загального обсягу даних:
// При 50 статтях (5 сторінок)
« 1 2 3 4 5 »
// При 150 статтях (15 сторінок)
« 1 ... 4 5 6 7 8 ... 15 »
// При 250 статтях (25 сторінок)
« 1 ... 4 5 6 7 8 9 10 ... 25 »
Метод onEachSide дозволяє створювати більш чисті та інтуїтивно зрозумілі інтерфейси пагінації, які адаптуються до ваших даних
У сучасній веб-розробці аутентифікація є ключовою для захисту додатків і даних користувачів. Дізнайтеся, як модуль nuxt-sanctum-authentication спростить інтеграцію між Nuxt 3 та Laravel Sanctum, забезпечуючи надійний і зручний спосіб реалізації аутентифікації для вашого проєкту
Laravel пропонує потужні можливості повнотекстового пошуку за допомогою методів whereFullText та orWhereFullText, що дозволяють здійснювати складні запити до бази даних. Дізнайтеся, як реалізувати ефективний пошук для вашого блогу чи системи управління контентом
Нова версія Livewire 4, представленої Келебом Порзіо на Laracon US 2025, обіцяє значні покращення у швидкості та організації компонентів. Які з інноваційних функцій підкорять ваше серце? Читайте далі, щоб дізнатися більше про те, як Livewire 4 полегшить вашу роботу