拉拉维尔 5.1 使用变量重定向


Laravel 5.1 Redirect with variable

我正在尝试像这样重定向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将是keyvalue将是value

所以在你的情况下,你可以做->with('state', $state)->with(compact('state'))

with方法将此值刷新到session,因此为了检索该值,您需要从session中获取它

,例如session('state')

您可以通过这种方式传递任何值。

您无法使用重定向发送变量,但如果您想尝试使用会话。

看看我的旧答案:尝试将变量传递给视图,但视图中没有显示任何内容 - laravel