تاریخ امروز:1 دی 1403
آموزش صفحه‌بندی (paginator) در لاراول

آموزش صفحه‌بندی (paginator) در لاراول

در این پست میخوام آموزش صفحه‌بندی (paginator) در لاراول رو بدم خدمتتون. توی این آموزش من از query builder استفاده کردم.

تنها نکته این هستش که من از لاراول 5.6 استفاده می‌کنم 🙂

فرض کنید جداول دیتابیس شما به صورت زیر هستش:

جداول دیتابیس

جداول دیتابیس

حالا میخوایم پست‌های مربوط به یک دسته خاص رو نشون بدیم. category_id در متغیر $id هستش:

$post_id_tmp = DB::table('blogs')
->leftJoin('blogs_category_relation', 'blogs.post_id', '=', 'blogs_category_relation.post_id')
->where('blogs_category_relation.category_id',$id)
->orderByRaw('blogs.post_id DESC')
->paginate(5);

اون تیکه‌ی

->paginate(5);

دقیقا برای صفحه بندی هستش و ۵ پست رو نشون میده توی هر صفحه.

حالا اطلاعات رو میفرستیم سمت view که ساختیم.

return view('blog-category',compact('post_id_tmp'));

داخل view برای نمایش اطلاعاتی که از دیتابیس خواندیم به این صورت عمل میکنیم:

@foreach ($post_id_tmp as $posts)
{{ $posts->title }}
 {{ $posts->description }}
 @endforeach

و برای نمایش لینک صفحات مختلف این دستور را استفاده می‌کنیم:

{{ $post_id_tmp->links() }}

به همین سادگی 🙂

2 Comments

  1. آواتار رضا کیارضا کیا پاسخ

    اشکال کار شما اینه که دستور
    {{ $post_id_tmp->links() }}
    رو درست فراخوانی نکردید

    باید دستور زیر رو در ترمینال و در مسیر پروژه اجر کنید تا فایلهای تمپلت در مسیر resources/views/vendor/pagination ایجاد بشن

    دستور:
    php artisan vendor:publish –tag=laravel-pagination

    بعد میتونید دستور لینک رو به این صورت قرار بدید:
    {{ $post_id_tmp->links(‘vendor.pagination.bootstrap-4’) }}

    1. آواتار سروش طیبیسروش طیبی Post author پاسخ

      این برای زمانی هستش که ما بخوایم از view غیر از view پیش‌فرض استفاده کنیم. ولی در صورتی که از view پیش‌فرض استفاده کنیم درست هستش دستورات 🙂

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *