Laravel 5.1使用变量重定向

时间:2016-07-08 06:40:36

标签: php laravel variables redirect laravel-5.1

我正试图像这样在Laravel中重定向:

在我的控制器中:

  $state = false;
  return redirect()->route('newPr')->with('errorMessageDuration', 'error', $state);

在我看来,我试着这样做:

<input id="PrId" type="text" value="{{ isset($state) ? $state : '' }}">

但不知何故它不起作用,它一直是空的。

我希望永久保存。

5 个答案:

答案 0 :(得分:2)

使用withErrors()代替关联数组,如下所示:

return redirect()->route('newPr')->withErrors(compact('state'));

然后您可以在视图中使用$ errors变量。

来自docs

  

$ errors变量始终定义并且可以安全使用。该   $ errors变量将是Illuminate \ Support \ MessageBag的一个实例。   有关使用此对象的更多信息,请check out its documentation

答案 1 :(得分:2)

尝试使用会话来显示它,

<input id="PrId" type="text" value="{{ isset(session($state)) ? $session($state) : '' }}">

答案 2 :(得分:1)

使用会话。

$request->session()->flash('error', 'Some error message');
return redirect()->route('newPr');

在视图中:

@if (session('error'))
    The error is {{ session('error') }}
@endif

答案 3 :(得分:1)

with方法有2个参数。第一个是key和第二个value或者如果第一个参数是一个数组,其key将是keyvalue将是{ {1}}。

因此,在您的情况下,您可以执行value->with('state', $state)

->with(compact('state'))方法会将此值刷新到with,以便检索从session session session('state')获取该值所需的值ViewController

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

答案 4 :(得分:0)

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

在这里查看我的旧答案:Trying to pass a variable to a view, but nothing is shown in the view - laravel