Laravel重定向回变量不起作用
我正在构建一个laravel应用程序,我有这行代码,它应该将用户重定向到他刚刚提交的表单,使用旧的输入和一些操作的结果。
return back()->with(["result" => round($area, 2)])->withInput($request->all());
问题是我只在刀片中接收旧的输入,并且$result
变量在视图中不可用。
以下是我尝试输出结果的方式:
<input type="text" name="result" value="{{isset($result)&&old('roofType')==0?$result:''}} ㎡ " 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') }}
。
在我更改了显示数据的方式后,所有数据都按预期工作。
相关文章