simplePanigate لاراول، مفیدتر برای دیتاهای بزرگ

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

یک مثال ساده داریم از جدولی که ۵۰۰۰ مشتری را در خود دارد:

$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() }}

در Debugbar مشخص است که queryها چطور عمل می‌کنند.

Laravel pagination

همانطور که می‌بینید یک query برای صفحه اصلی زده می‌شود و یک query دیگر برای شمارش تعداد customers.

اگر شما نیازی به تعداد صفحات نداشته باشید و تنها بخواهید دکمه‌های Next و Previous را نمایش دهید، آنگاه می‌توانید تابع simplePaginate را فراخوانی کنید.

$customers = Customer::simplePaginate(10);

laravel simplepaginate

حالا، تعداد queryها را ببینید.

کامنت ها (0)

ارسال نظر