استفاده از Laravel simplePaginate برای صفحه بندی داده‌ های بزرگ در لاراول

در صورت وجود مقادیر بزرگتر داده‌ها در جداول پایگاه داده لاراول، به منظور ساده کردن عملیات صفحه بندی می‌توان از simplePaginate استفاده کرد.


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

در اینجا، مثالی از یک صفحه بندی ساده از یک جدول با 5000 مشتری را مشاهده می‌کنید:

$customers = Customer::paginate(10);

سپس، در فایل Blade موارد زیر را اضافه می‌کنیم:

<table class="table">
    <thead>
    <tr>
        <th>First name</th>
        <th>Last name</th>
        <th>Email</th>
    </tr>
    </thead>
    <tbody>
    @foreach ($customers as $customer)
        <tr>
            <td>{{ $customer->first_name }}</td>
            <td>{{ $customer->last_name }}</td>
            <td>{{ $customer->email }}</td>
        </tr>
    @endforeach
    </tbody>
</table>
 
{{ $customers->links() }}

در اینجا، چگونگی اجرای کوئری‌ها را در Laravel Debugbar مشاهده می‌کنید.

laravel-pagination

همانطور که مشاهده می‌کنید، یک کوئری برای نمایش صفحه فعلی و سپس یک کوئری برای شمارش تعداد صفحات برای صفحه بندی اجرا می‌شود.

مطالعه بیشتر در لیداوب:

لاراول چیست و چرا به محبوب‌ترین فریم ورک PHP تبدیل شده است؟

اگر شما به تعداد صفحات در صفحه بندی نیاز ندارید و فقط می‌خواهید لینک‌های «قبلی» و «بعدی» را نمایش دهید، می‌توانید یک تابع به نام simplePaginate () را برای این کار به صورت زیر فراخوانی کنید.

$customers = Customer::simplePaginate(10);

laravel-pagination

این تابع دکمه‌های Previous و Next را به سیستم صفحه بندی اضافه می‌کند. مشاهده می‌کنید که در صورت استفاده از این تابع، تعداد کوئری‌ها کاهش یافته است.

آموزش‌های بیشتر در لیداوب:

آموزش پایه لاراول ۵,۵

آموزش CSS

آموزش HTML مقدماتی

امیدوارم این نکته از نکات کاربردی فریم ورک لاراول نیز برای شما مفید واقع شود و بتوانید از آن در برنامه‌های لاراول خود استفاده کنید. برای یادگیری جدیدترین نکات کاربردی لاراول می‌توانید مقالات ما در کتابخانه‌ آنلاین لیداوب را دنبال کنید. همچنین، ما مشتاق دریافت نظرات و سوالات شما در بخش دیدگاه‌ها هستیم.