TGViewer
| کانال توسعه‌دهندگان لاراول | | کانال توسعه‌دهندگان لاراول | @developixlaravel · 1.54K subscribers
Post #99 612
فصل چهار - مدل‌ها و Eloquent ORM

بخش دوم - مدل ها - قسمت دهم
(متد های صفحه بندی)

1- متد paginate
نتایج جستجو را به صورت صفحه‌بندی‌شده برمی‌گرداند و شامل اطلاعات کامل در مورد صفحات، لینک‌های صفحات و تعداد کل رکوردها است. این متد تعداد کل رکوردها را محاسبه می‌کند، بنابراین ممکن است برای دیتابیس‌های بزرگتر کمی سنگین باشد.
$users = User::paginate(10);

این کوئری ۱۰ کاربر در هر صفحه را بازیابی می‌کند. به صورت پیش‌فرض، لاراول لینک‌های صفحه‌بندی را بر اساس تعداد کل رکوردها نمایش می‌دهد.

2- متد simplePaginate
مشابه paginate است، اما تعداد کل رکوردها را محاسبه نمی‌کند. این متد از لینک‌های next و previous برای صفحه‌بندی استفاده می‌کند، بنابراین سبک‌تر است و برای مجموعه داده‌های بزرگ مناسب‌تر است.
$users = User::simplePaginate(10);

این کوئری ۱۰ کاربر در هر صفحه را بازیابی می‌کند و فقط لینک‌های "صفحه بعد" و "صفحه قبل" را ارائه می‌دهد، بدون محاسبه تعداد کل صفحات یا رکوردها.

3- متد cursorPaginate
یک روش سبک و بهینه‌تر برای صفحه‌بندی است که از شناسه‌های منحصر به فرد (cursor) برای مدیریت صفحه‌بندی استفاده می‌کند. برخلاف paginate و simplePaginate، این متد نیازی به شمارش کل رکوردها ندارد و برای مجموعه داده‌های بسیار بزرگ مناسب است. این نوع صفحه‌بندی برای مواقعی که نیاز به بارگذاری سریع دارید، استفاده می‌شود.
$users = User::cursorPaginate(10);

این کوئری ۱۰ کاربر در هر صفحه را با استفاده از شناسه‌های cursor بازیابی می‌کند، و به صورت کارآمد‌تر صفحه‌بندی انجام می‌دهد.

متد های صفحه بندی پراپرتی ها و متد های خاصی را نیز در نتیجه خود در اختیار ما قرار می دهند.

1- دریافت شماره صفحه جاری.
$users->currentPage()


2- لینک به صفحه بعد.
$users->nextPageUrl()


3- لینک به صفحه قبل.
$users->previousPageUrl()


4- تعداد رکوردهایی که در هر صفحه نمایش داده می‌شود.
$users->perPage()


5- تعداد کل رکوردها. در simplePaginate در دسترس نیست.
$users->total()


6- شماره آخرین صفحه. در simplePaginate در دسترس نیست.
$users->lastPage()


7- لینک به صفحه خاص
$users->url(3)


8- تعداد رکوردهای فعلی در صفحه جاری.
$users->count()


9- بررسی می‌کند که آیا صفحات بیشتری وجود دارد یا خیر. در دسترس از cursorPaginate.
$users->hasMorePages()


10- شناسه cursor صفحه جاری که برای پیمایش صفحات بعدی و قبلی استفاده می‌شود. در دسترس از cursorPaginate.
$users->cursor()


11- دریافت UI و لینک های صفحه بندی.
$users->links()


🔖 #Laravel, #PHP, #لاراول, #فصل_۴

👤 AmirHossein

💎 Channel: @DevelopixLaravel
  • 👍 4
  • ❤ 2
More from @developixlaravel
  1. Oct 1, 2026روابط پایگاه داده چند ریختی یا Eloquent Polymorphic در لاراول - قسمت اول در لاراول، روابط…
  2. Sep 30, 2026مدیریت همزمانی و قفل‌گذاری روی پردازش‌ها در لاراول (Laravel Atomic Locks) در بخش چهارم از…
  3. Sep 26, 2026🔥 پکیج: ورود با حساب‌های دیگر؛ Socialite برای اضافه‌کردن ورود با حساب‌های دیگر به پروژه ل…
  4. Sep 25, 2026🔒 فقط داده‌های تأییدشده را ذخیره کن وقتی یک فرم ویرایش پروفایل داری، ممکن است کلاینت علاو…
  5. Sep 20, 2026حفاظت از پردازش ها با Laravel Rate Limiter بخش سوم - پیکربندی در قسمت سوم از مجموعه آموزش…
  6. Sep 16, 2026🚀 ‏LaraGram Brain منتشر شد! از این به بعد برای ساخت ربات‌های تلگرام با فریم‌ورک LaraG…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →