انتقل إلى محتوى الدرس

Paginating Eloquent Query Results تقسيم نتائج الاستعلام إلى صفحات

حقن نماذج Eloquent تلقائياً في المسارات بالمعرف أو السلج وتقسيم النتائج الكبيرة إلى صفحات عبر paginate وروابط links.
1 صفوف تعليمية
إطار العمل Laravel
0 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

بدلاً من جلب آلاف السجلات دفعة واحدة، يوفر Eloquent ثلاث دوال مدمجة لترقيم الصفحات هي paginate و simplePaginate و cursorPaginate. بينما تنفذ paginate استعلام عد إضافياً لتوليد أرقام الصفحات، تكتفي simplePaginate بزرّي التالي والسابق، وتستخدم cursorPaginate مؤشر الترتيب لتحقيق سرعة فائقة في الجداول الضخمة.

  • الترقيم الكامل (paginate): يعيد كائن LengthAwarePaginator يتضمن إجمالي السجلات وأرقام الصفحات الكاملة.
  • الترقيم البسيط (simplePaginate): يتجنب استعلام العد الثقيل ويعرض أزرار التالي والسابق فقط لتسريع الأداء.
  • ترقيم المؤشر (cursorPaginate): يستغني عن إزاحة OFFSET البطيئة ويعتمد على مقارنة قيمة العمود المرتب.
PHP
$posts = Post::with('user:id,name')
    ->latest()
    ->paginate(12);

$feed = Post::orderBy('id')->cursorPaginate(20);