Laravel Sweet Alert如何在会话中存储警报并在成功时显示它

yuvru6vn  于 2023-10-22  发布在  其他
关注(0)|答案(1)|浏览(96)

我使用的是从RealRashid甜蜜警报,我需要当用户创建一个类别,它重定向到索引页面和警报成功消息他
存储函数

  1. public function store(Request $request)
  2. {
  3. $imageUploaded = false;
  4. $validator = Validator::make($request->all(), [
  5. 'title' => 'required|string|max:100',
  6. 'title_ar' => 'required|string|max:100',
  7. 'img' => 'required|image|mimes:jpeg,png,jpg',
  8. ]);
  9. if ($validator->fails()) {
  10. $errors = $validator->errors();
  11. return redirect(route('categories.create'))->withErrorMessage($errors);
  12. }
  13. if ($request->has('img')) {
  14. $img = $request->file('img');
  15. $ext = $img->getClientOriginalExtension();
  16. $img_name = 'category-' . uniqid() . ".$ext";
  17. $stored = $img->move(public_path('uploads/categories/'), $img_name);
  18. if ($stored) {
  19. $imageUploaded = true;
  20. } else {
  21. return redirect(route('categories.create'))->withUploadErrorMessage('Error Uploading Image');
  22. }
  23. }
  24. $title = $request->title;
  25. $title_ar = $request->title_ar;
  26. if ($imageUploaded) {
  27. Category::create([
  28. 'title' => $title,
  29. 'title_ar' => $title_ar,
  30. 'img' => $img_name
  31. ]);
  32. }
  33. return redirect()->route('categories')
  34. ->withSuccessMessage('Category Created Successfully');
  35. }

在索引页中,我检查成功消息并像这样提醒它

  1. public function index()
  2. {
  3. if (session('success_message')) {
  4. Alert::success('Success!', session('success_message'));
  5. }
  6. if (session('error_message')) {
  7. $errors_arr = [];
  8. foreach (session('error_message')->messages() as $error) {
  9. array_push($errors_arr, $error[0]);
  10. }
  11. $errors_html = collect($errors_arr)->implode('<br>');
  12. Alert::html('Error', $errors_html, 'error');
  13. }
  14. $categories = Category::latest()->get();
  15. return view('dashboard/categories/categories', compact('categories'));
  16. }

我在主布局中导入了甜蜜警报库

  1. @include('sweetalert::alert')

但它把我重定向到了索引页面而没有引起任何警报
这里有什么问题吗?

liwlm1x9

liwlm1x91#

当您的工作完成后,使用with()或其他方法来设置会话

  1. return redirect('users')->with('success', '$url');

现在检查会话是否已设置,然后可以显示警报

  1. <script>
  2. @if(session('succes'))
  3. swal("{{ session('succes') }}");
  4. @endif
  5. </script>

相关问题