Theme
Primary Color

تقسيم بيانات جاهزة بإستخدام LengthAwarePaginator

ال LengthAwarePaginator بتساعدك ترقم بيانات موجودة في الذاكرة لما تعرف العدد الإجمالي

تجهيز عناصر الصفحة المطلوبة

لازم تقطع عناصر الصفحة بنفسك قبل تمريرها إلى Paginator

<?php

use Illuminate\Pagination\LengthAwarePaginator;

$all = collect(range(1, 5));
$page = 2;
$perPage = 2;
$items = $all->forPage($page, $perPage)->values();
$paginator = new LengthAwarePaginator($items, $all->count(), $perPage, $page, ["path" => "/items"]);
echo json_encode($paginator->items());

النتيجة

[3,4]

قراءة عدد الصفحات

إجمالي خمسة عناصر مع عنصرين في الصفحة بينتج ثلاث صفحات

<?php

use Illuminate\Pagination\LengthAwarePaginator;

$paginator = new LengthAwarePaginator([3, 4], 5, 2, 2, ["path" => "/items"]);
echo $paginator->lastPage(), "\n";
echo $paginator->url(3);

النتيجة

3
/items?page=3
ملحوظة

مع بيانات قاعدة بيانات كبيرة إستخدم paginate على الإستعلام بدل تحميل كل السجلات إلى الذاكرة

laravel شرح