使用 Laravel 重定向到 intended() 时如何刷新 session 数据?

How to flash session data when redirect to intended() using Laravel?

我正在尝试在登录后重定向到预期的 URL,并将一些 session 数据一起闪烁以仅显示一次弹出模式。

如果我这样做,它会起作用:

return redirect(RouteServiceProvider::HOME)->with('showWelcome', true);

我可以在 blade 视图中检索 session:

@if (session('showWelcome'))
    // show modal..
@endif

但是,如果我使用intended(),session是找不到的:

return redirect()->intended(RouteServiceProvider::HOME)->with('showWelcome', true);

我也试过以下方法:

$request->session()->flash('showWelcome', true);
@if (\Session::has('showWelcome'))
    // show modal
@endif

不幸的是,问题仍然存在,只有当我 不是 使用 intended().

时它才有效

我到处搜索,但找不到任何解决方案。

我是不是做错了什么或理解重定向的工作原理不正确?

我认为问题出在闪现消息上,所以您可以尝试类似的方法来实现相同的功能 存储数据

$request->session()->put('showWelcome', true);
return redirect()->intended(RouteServiceProvider::HOME);

检索数据

$showWelcome = $request->session()->pull('showWelcome');

希望有用!