1 پاسخ

ارسال به صورت paginate به صفحه مورد نظر

سلام من مقداری به شکل زیر دارم :

Collection {#363 ▼
  #items: array:3 [▼
    0 => Product {#394 ▶}
    1 => Product {#391 ▶}
    2 => Product {#392 ▶}
  ]
}

و میخوام این به صفحه به صورت paginate ارسال کنم کد هم به شکل زیر است اما خطا دریافت میکنم.

foreach ($categorie as $category_pro) {
                    foreach ($category_pro as $category_product) {
                        $category_p[] = $category_product;
                    };
                };

                $category_products = collect($category_p);
               dd($category_products);

ثبت پرسش جدید
mahdi khanzadi
تخصص : backend developer at Snapp mar...
@khanzadimahdi 5 سال پیش آپدیت شد
1

سلام. مشکل شما رو در لینک زیر حل کردن.

https://gist.github.com/simonhamp/549e8821946e2c40a617c85d2cf5af5e

لینک بالا رو بررسی کنید. با استفاده کردن ماکرو میتونید اینکار رو انجام بدید.

به AppServiceProvider.php برید و درون متد boot دستور زیر رو بنویسید

Collection::macro('paginate', function($perPage, $total = null, $page = null, $pageName = 'page') {
    $page = $page ?: LengthAwarePaginator::resolveCurrentPage($pageName);
    return new LengthAwarePaginator(
        $this->forPage($page, $perPage),
        $total ?: $this->count(),
        $perPage,
        $page,
        [
            'path' => LengthAwarePaginator::resolveCurrentPath(),
            'pageName' => $pageName,
        ]
    );
});

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

// use IlluminateSupportCollection
use AppSupportCollection;

$items = [];
$collection = (new Collection($items))->paginate(20);

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام