شرح صفوف ومحتوى الفقرة
بدلاً من جلب آلاف السجلات دفعة واحدة، يوفر 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);