从Controller传递变量到View Laravel 5.8时出错

时间:2019-06-28 00:14:34

标签: laravel

我试图通过一个简单的变量将一个变量从Controller传递到Laravel中的View,但这会导致一个错误:未定义的变量。

我尝试更改:

return view('home', $Test);

return view('home', 'Test' => $Test);

return view('home')->with('Test');

我的控制器:

        public function index(){
           $Test = 55;
           return view('home',compact('Test'));
          }

我的观点

            <html>
             <body>
              <h1> {{$Test}} </h1>
             </body>
            </html>

这是错误:

ErrorException {#229 ▼
  #message: "Undefined variable: Test"
  #code: 0
  #file: "E:\Desktop\aroundtrips\storage\framework\views\245291ca31ad79efeff6d548bc38081345e95242.php"
  #line: 78
  #severity: E_NOTICE
}

4 个答案:

答案 0 :(得分:1)

像下面一样传递

return view('home', ['Test' => $Test]);

作为参考,请检查https://laravel.com/docs/5.8/views

答案 1 :(得分:0)

只需使用compact('Test')即可将变量传递给视图。

因此,如果您离开控制器并按问题所示进行查看,它将可以正常工作。

答案 2 :(得分:0)

return view('home')->with('Test', $test);

答案 3 :(得分:0)

最初,我在Laravel 5.7中遇到相同的问题,其中必须使用with()方法将变量传递到刀片模板。但是我已经在自己的Laravel 5.8设置上测试了您的原始代码,并且可以完美运行:

public function index()
{
    $Test = 55;
    return view('home', compact('Test'));
}