سلام دوستان
من یک پروژه لاراول دارم که CRUD هست و pagination رو هم بر میگردونم. حالا میخوام وقتی داخل فرم ویرایش دکمه بروزرسانی رو زدم برگردم به همون صفحه ای که دکمه ی ویرایش در لیست رکورد ها هست. مثلا ما داخل لیست مقالات، در صفحه ی 5 هستیم
localhost:8000/posts?page=5
و حالا مقاله شماره چهارده رو برای ویرایش انتخاب میکنیم
localhost:8000/posts/14
و بعد داخل فرم ویرایش فرضا میخواهیم مقاله مون رو بروزرسانی کنیم و روی دکمه بروزرسانی میزنیم و میخوام برگرده به همون صفحه 5 یعنی این:
localhost:8000/posts?page=5
من روش های زیر رو هم امتحان کردم ولی فقط برمیگرده به همون فرم ویرایش که نمیخوام اینطوری باشه.
return redirect()->back();
return url()->previous();
ممنون میشم از دوستان راهنماییم کنند:)
هلپر متد back شما رو به url قبلی بر میگردونه
اما شما میخواهی به ۲ تا url قبل تر برگردی
یه راهی که براش هست اینه که url ای رو که میخواهی بهش برگردی توی session ذخیره کنی
توی متد Index هر بار که به صفحه ای میری مقدار رو به شکل زیر ذخیره کن
request()->session()->put('post_page_before_edit', 5);
شماره صفحه فعلی رو هم میتونی از متدهای Paginator در بیاری و استفاده کنی
بعد وقتی پروسه ویرایش تموم شد به Route پست ها ریدایرکت کن و به صفحه ای که در سشن موجوده
ممنونم اقای بیات بابت راهنمایی تون @ali.bayat
من توی متد index کنترلرم شماره صفحه رو گرفتم و سشسن جدید ایجاد کردم بدین صورت:
request()->session()->put('page', $posts->currentPage());
بعد داخل متد update چطوری باید ریدایرکت بدم به اون پیج در سشن؟؟
اگر route مربوط به پست ها ، اسم داره
که از هلپر route استفاده کن
اگر هم نه که آدرس رو بهش بده
$page_number = request()->session()->get('page');
$uri = "/posts?page={$page_number}";
return redirect(url($uri));
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟