راکت

ایجاد paginate در خروجی api لاراول

2 پاسخ

سلام.من برای درخواست های api نیاز دارم تا تو paginate قسمت links موارد قبلی و بعدی حذف بشه...چطور میشه ویرایش کرد؟

"meta": {
        "current_page": 20,
        "from": 191,
        "last_page": 250,
        "links": [
            {//به عنوان مثال میخوام لینک زیر برنگرده
                "url": "http://localhost:8000/api/admin/requests/get-all?page=19",
                "label": "« قبلی",
                "active": false
            },
            {//میخوام از این لینک شروع بشه
                "url": "http://localhost:8000/api/admin/requests/get-all?page=1",
                "label": 1,
                "active": false
            },
ثبت پرسش جدید

پاسخ‌ها

2
رضا پارسیان
رضا پارسیان
@Rp76

تخصص: توسعه دهنده Php , Laravel

سلام :D
سوالت رو درست متوجه نشدم ولی بذار کور کورانه جواب بدم شاید مشکلت حل شد.

برای اینکار باید از دیتابیس اطلاعات رو فراخوانی کنی مثل کد زیر :

        $numbers = AppAds::orderby("id", "desc")->where("user_id",Auth::user()->id)->paginate(25);

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

 if ($numbers->currentPage() > $numbers->lastPage()) {
            return redirect(route("ads.list") . "/?page=" . $numbers->lastPage());
        } else {
            return view(
                "ads.list",
                [
                    "total_page" => $numbers->lastPage(),
                    "current_page" => $numbers->currentPage(),
                    "numbers" => $numbers->items()
                ]
            );
        }

البته من اطلاعات رو به یک view ارسال کردم که قطعا میتونی خودت درست کنی این قضیه رو.
امیدوارم کارت رو راه بندازه.

علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

اگر دقت کنی links داره آرایه ای از آبجکت ها رو بر میگردونه
حالا اگر به هر دلیلی قسمتی از اون داده رو نمی‌خواهی میتونی کل آرایه رو پیمایش کنی و

  • یا اون قسمت رو حذف کنی
  • یا قسمت های دیگه رو استفاده کنی

شاید پاسخ شما همین‌جا باشد

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

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