php - Laravel 重定向回变量不起作用

标签 php laravel-5.4 laravel-blade

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

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

问题是我只收到 Blade 中的旧输入和 $result变量在 View 中不可用。

这就是我尝试输出结果的方式:
<input type="text" name="result" value="{{isset($result)&&old('roofType')==0?$result:''}} &#x33a1; " class="form-control input-sm" >

这是我提交后 View 中的变量:
{{ 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); 相同,但它不是。

您不能使用 Blade 正常语法回显变量:{{ $bladeVar }} ,相反,您必须访问 session 才能获取值:{{ session('bladeVar') }} .

在我改变显示数据的方式后,一切都按预期工作。

关于php - Laravel 重定向回变量不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45814650/

相关文章:

laravel - 更新 Laravel 5.4。到 5.5 中断验证响应

php - 如何在 CentOS 上的 PHP 5.3 中激活 ZipArchive 类

php - 密码保护表 #mysql 中的字段

javascript - 无法将图像上传到mysql数据库

php - 覆盖 laravel Blade 模板中的部分抛出 undefined variable 错误

laravel - Laravel 中不能使用 Controller 名称,必须使用命名空间

php - 如何从外部 View 在 Laravel blade @foreach 循环中获取变量

php - 当闭包和反射可用时,PHP 中的 OOP 可见性有什么意义?

laravel-5.4 - 为什么 Laravel 可以在没有 WAMP 服务器的情况下工作?

php - 自动同步 Laravel 中的相关表