راکت
حل شده

صفحه بندی در لاراول

3 پاسخ

سلام دوستان
من یک پروژه لاراول دارم که CRUD هست و pagination رو هم بر میگردونم. حالا میخوام وقتی داخل فرم ویرایش دکمه بروزرسانی رو زدم برگردم به همون صفحه ای که دکمه ی ویرایش در لیست رکورد ها هست. مثلا ما داخل لیست مقالات، در صفحه ی 5 هستیم

localhost:8000/posts?page=5

و حالا مقاله شماره چهارده رو برای ویرایش انتخاب میکنیم

localhost:8000/posts/14

و بعد داخل فرم ویرایش فرضا میخواهیم مقاله مون رو بروزرسانی کنیم و روی دکمه بروزرسانی میزنیم و میخوام برگرده به همون صفحه 5 یعنی این:

localhost:8000/posts?page=5

من روش های زیر رو هم امتحان کردم ولی فقط برمیگرده به همون فرم ویرایش که نمیخوام اینطوری باشه.

return redirect()->back();

return url()->previous();

ممنون میشم از دوستان راهنماییم کنند:)

رضا
رضا
@Megairan
ثبت پرسش جدید

پاسخ‌ها

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

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

بهترین پاسخ

هلپر متد back شما رو به url قبلی بر میگردونه
اما شما میخواهی به ۲ تا url قبل تر برگردی

یه راهی که براش هست اینه که url ای رو که میخواهی بهش برگردی توی session ذخیره کنی
توی متد Index هر بار که به صفحه ای میری مقدار رو به شکل زیر ذخیره کن

request()->session()->put('post_page_before_edit', 5);

شماره صفحه فعلی رو هم میتونی از متدهای Paginator در بیاری و استفاده کنی
بعد وقتی پروسه ویرایش تموم شد به Route پست ها ریدایرکت کن و به صفحه ای که در سشن موجوده

رضا
رضا
@Megairan

تخصص: Laravel Developer

ممنونم اقای بیات بابت راهنمایی تون @ali.bayat
من توی متد index کنترلرم شماره صفحه رو گرفتم و سشسن جدید ایجاد کردم بدین صورت:

request()->session()->put('page', $posts->currentPage());

بعد داخل متد update چطوری باید ریدایرکت بدم به اون پیج در سشن؟؟

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

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

اگر route مربوط به پست ها ، اسم داره
که از هلپر route استفاده کن
اگر هم نه که آدرس رو بهش بده


$page_number = request()->session()->get('page');
$uri = "/posts?page={$page_number}";

return redirect(url($uri));

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

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

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