我正在尝试像这样重定向Laravel:
在我的控制器中:
$state = false;
return redirect()->route('newPr')->with('errorMessageDuration', 'error', $state);
在我看来,我试图这样理解它:
<input id="PrId" type="text" value="{{ isset($state) ? $state : '' }}">
但不知何故它不起作用,它一直空着。
我希望它被永久保存。
将 withErrors()
与关联数组一起使用,如下所示:
return redirect()->route('newPr')->withErrors(compact('state'));
然后,您只需在视图中使用 $errors 变量即可。
从文档中:
$errors变量始终是定义的,并且可以安全地使用。这 $errors变量将是 Illuminate''Support''MessageBag 的实例。 有关使用此对象的详细信息,请查看其 文档。
尝试使用会话来显示它,
<input id="PrId" type="text" value="{{ isset(session($state)) ? $session($state) : '' }}">
使用会话。
$request->session()->flash('error', 'Some error message');
return redirect()->route('newPr');
在观点中:
@if (session('error'))
The error is {{ session('error') }}
@endif
with
方法需要 2 个参数。第一个是key
,第二个是value
或者,如果第一个参数是一个数组,则其key
将是key
,value
将是value
。
所以在你的情况下,你可以做->with('state', $state)
或->with(compact('state'))
with
方法将此值刷新到session
,因此为了检索该值,您需要从session
中获取它
session('state')
您可以通过这种方式传递任何值。
您无法使用重定向发送变量,但如果您想尝试使用会话。
看看我的旧答案:尝试将变量传递给视图,但视图中没有显示任何内容 - laravel