Laravel重定向回变量不起作用

2022-04-10 00:00:00 php laravel-blade laravel-5.4

我正在构建一个laravel应用程序,我有这行代码,它应该将用户重定向到他刚刚提交的表单,使用旧的输入和一些操作的结果。

 return back()->with(["result" => round($area, 2)])->withInput($request->all());

问题是我只在刀片中接收旧的输入,并且$result变量在视图中不可用。

以下是我尝试输出结果的方式:

<input type="text" name="result" value="{{isset($result)&&old('roofType')==0?$result:''}} &#x33a1; " class="form-control input-sm" >

以下是提交后我在视图中拥有的变量:

{{ dd(get_defined_vars()['__data']) }}:

array:7 [▼
         "__env" => Factory {#89 ▶}
         "app" => Application {#3 ▶}
         "errors" => ViewErrorBag {#169 ▶}
         "roofName" => "Acoperis intr-o apa"
         "roofType" => "1"
         "roofFolder" => "A1"
         "baseFields" => array:3 [▼
                                  0 => "L"
                                  1 => "l"
                                  2 => "H"
                                  ]
          ]

解决方案

问题是我认为写作 return back()->with('bladeVar', $controllerVar)return view('test')->with('bladeVar', $controllerVar);相同,但不同。

您不能使用刀片正常语法回显变量:{{ $bladeVar }},而必须访问会话以获取值:{{ session('bladeVar') }}

在我更改了显示数据的方式后,所有数据都按预期工作。

相关文章