Як використовувати вбудовану функцію пагінації Laravel на веб-сайті
Ви хочете інтегрувати вбудовану пагінацію Laravel у свою програму? Пагінація – це завжди тривале завдання. Якщо ми робимо це без будь-якої сторонньої бібліотеки, нам потрібно обробляти посилання на сторінки, загальну кількість записів, записів на сторінку тощо. У цій статті ми покажемо, як використовувати пагінацію в Laravel, яка вже входить до складу Laravel.
На веб-сайті нам часто потрібні пагінації. Для показу великого набору записів ми використовуємо пагінацію. За допомогою пагінації ми розділяємо великий набір даних на дрібні частини. Це зменшить навантаження на наш сервер, і як результат, сервер швидко реагує.
Як використовувати пагінацію Laravel
Скажімо, у нашій базі даних є таблиця „products", і ця таблиця містить великий набір записів. Наша мета – показати 10 рядків одночасно з цієї таблиці. А для наступних записів ми будемо використовувати посилання на сторінки.
У нашому контролері ми використовуємо paginate
метод і передаємо значення 10 як аргумент.
public function index()
{
$products = DB::table('products')->paginate(10);
return view('products.index', ['products' => $products]);
}
Вищезазначений код отримає 10 рядків із таблиці бази даних і передасть ці записи до подання.
Для відображення цих записів у поданні ми пишемо код наступним чином.
<table class="table">
<thead>
<tr>
<th>Id</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
@foreach($products as $p)
<tr>
<td>{{ $p->id }}</td>
<td>{{ $p->name }}</td>
<td>{{ $p->description }}</td>
</tr>
@endforeach
</tbody>
</table>
{{ $products->links() }}
Тут links
метод повертає подання пагінації, яке базується на пагінації таблиці завантажувальної таблиці.
Laravel також дозволяє нам використовувати пагінатні красномовні запити замість конструктора запитів.
$products = AppProduct::paginate(10);
Передайте додаткові параметри для посилання на сторінки
Зазвичай ми застосовуємо пагінацію з таблицями HTML. Поряд зі списком таблиць записів ми надаємо поле пошуку для фільтрування записів. Щоб зберегти пошукові фільтри, нам слід передавати рядок пошуку в посилання на сторінки, як показано нижче.
http: // YOUR_SITE_DOMAIN / products? s = test & page = 1
Для цього нам потрібно передати рядок пошуку для перегляду з контролера.
$products = DB::table('products')->paginate(10);
$products->search = 'YOUR_SEARCH_STRING';
return view('products.index', ['products' => $products]);
Далі, щоб відобразити посилання на сторінки, ми модифікуємо наш код таким чином.
{{ $products->appends(['s' => $products->search])->links() }}
appends
метод додає рядок запиту до посилань на пагінацію.
Ми сподіваємось, ви розумієте, як використовувати пагінацію Laravel у вашому додатку. Якщо у вас є якісь запитання чи пропозиції, залиште коментар нижче.
Статті, пов’язані з цим
- Як використовувати функцію декількох підключень до бази даних Laravel на веб-сайті
- Створіть багатомовний веб-сайт у PHP за допомогою Laravel Framework
- Як встановити та використовувати CKEditor в Laravel