رضا
4 سال پیش توسط رضا مطرح شد
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();

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


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

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

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

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

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


رضا
تخصص : Laravel Developer
@Megairan 4 سال پیش مطرح شد
0

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

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

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


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

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


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

return redirect(url($uri));

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

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