مهدی شریفی
4 سال پیش توسط مهدی شریفی مطرح شد
6 پاسخ

استفاده از pagination بیرون از laravel

سلام
من پکیج illuminate/database لاراول رو نصب کردم و با eloquent به راحتی کار میکنم ؛ میخواستم بدونم راهی هست بشه از pagination لاراول هم استفاده کرد یه نه ؟


ثبت پرسش جدید
علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 4 سال پیش مطرح شد
3

بله میتونید استفاده کنید .. ابتدا کامپوننت Pagination رو نصب کنید:

composer require illuminate/pagination

بعد باید یک Page Resolver ست کنید.. چیزی شبیه زیر

\Illuminate\Pagination\Paginator::currentPageResolver(function ($pageName = 'page') {
    return (int) ($_GET[$pageName] ?? 1);
});

خود لاراول Page Resolver رو به شکل زیر ست میکنه:


        Paginator::currentPageResolver(function ($pageName = 'page') {
            $page = $this->app['request']->input($pageName);

            if (filter_var($page, FILTER_VALIDATE_INT) !== false && (int) $page >= 1) {
                return (int) $page;
            }

            return 1;
        });

میتونی مقاله زیر رو هم بررسی کنی:
https://dcblog.dev/using-laravel-orm-standalone-paginate


محسن بستان
تخصص : Senior Backend Developer
@mohsenbostan 4 سال پیش مطرح شد
0

@Mahdi.sh.twd
سلام.
خودم تست نکردم، پکیج زیر هستش :

illuminate/pagination

علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 4 سال پیش مطرح شد
3

بله میتونید استفاده کنید .. ابتدا کامپوننت Pagination رو نصب کنید:

composer require illuminate/pagination

بعد باید یک Page Resolver ست کنید.. چیزی شبیه زیر

\Illuminate\Pagination\Paginator::currentPageResolver(function ($pageName = 'page') {
    return (int) ($_GET[$pageName] ?? 1);
});

خود لاراول Page Resolver رو به شکل زیر ست میکنه:


        Paginator::currentPageResolver(function ($pageName = 'page') {
            $page = $this->app['request']->input($pageName);

            if (filter_var($page, FILTER_VALIDATE_INT) !== false && (int) $page >= 1) {
                return (int) $page;
            }

            return 1;
        });

میتونی مقاله زیر رو هم بررسی کنی:
https://dcblog.dev/using-laravel-orm-standalone-paginate


مهدی شریفی
تخصص : توسعه دهنده وب
@Mahdi.sh.twd 4 سال پیش آپدیت شد
0

ببخشید من پکیج رو نصیب کردم paginate کار میکنه اما موقع گرفتن links به ارور میخورم در اصل url رو که به صورت

users?page=1

وارد میکنم اطلاعات رو به من میده صفحاتم میده درست اما خود pagination رو نمیسازه
@ali.bayat


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 4 سال پیش مطرح شد
0

متن خطا رو به اشتراک بگذارید


مهدی شریفی
تخصص : توسعه دهنده وب
@Mahdi.sh.twd 4 سال پیش آپدیت شد
0
Warning: call_user_func() expects parameter 1 to be a valid callback, no array or string given in D:\xampp\htdocs\PHP-boilerplate\vendor\illuminate\pagination\AbstractPaginator.php on line 519

Fatal error: Uncaught Error: Call to a member function make() on null in D:\xampp\htdocs\PHP-boilerplate\vendor\illuminate\pagination\LengthAwarePaginator.php:91 Stack trace: #0 D:\xampp\htdocs\PHP-boilerplate\vendor\illuminate\pagination\LengthAwarePaginator.php(79): Illuminate\Pagination\LengthAwarePaginator->render(NULL, Array) #1 D:\xampp\htdocs\PHP-boilerplate\app\views\users.php(38): Illuminate\Pagination\LengthAwarePaginator->links() #2 D:\xampp\htdocs\PHP-boilerplate\core\bootstrap.php(41): require_once('D:\\xampp\\htdocs...') #3 D:\xampp\htdocs\PHP-boilerplate\public\index.php(1): require_once('D:\\xampp\\htdocs...') #4 {main} thrown in D:\xampp\htdocs\PHP-boilerplate\vendor\illuminate\pagination\LengthAwarePaginator.php on line 91

@ali.bayat


مهدی شریفی
تخصص : توسعه دهنده وب
@Mahdi.sh.twd 4 سال پیش مطرح شد

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

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