laravel刀片视图中的变量未定义错误

时间:2016-09-30 10:20:33

标签: laravel view blade laravel-5.3

嘿,因为我正在通过一个拥有自己的控制器的刀片视图,我将它包含在没有自己的控制器的视图中。它给了我一个未定义的变量错误,任何人都可以帮助我如何做到这一点。

我有一个视图,在这个视图中没有任何控制器只有像此Route::get('index', function () { return view('index'); });这样的Route我正在传递另一个视图,它有自己的控制器并且还有一些来自数组的数据。但在视图中使用此视图后,我得到未定义的变量错误。

4 个答案:

答案 0 :(得分:6)

两个步骤。

  1. 声明&将 $ variable 转移到控制器功能查看。

    公共职能指数() {      return view(“index”,[“variable”=> $ variable]); }

  2. 指示控制器 $。变量的转移位置 view.blade.php

    {{$ variable}}

  3. 如果你不确定,是否转移$ variable

    {{ isset($variable) ? $variable : '' }}
    

答案 1 :(得分:0)

你可以试试这个:

 public function indexYourViews()
  { 
    $test = "Test Views";
    $secondViews = view('second',compact('test'));

     return view('firstview',compact('secondViews'));
   }

并在主视图文件(firstview)中声明{{$secondViews}}之后。

希望这会对你有所帮助。

答案 2 :(得分:0)

如果这对任何人都有用,那么我完全不知道我的路线没有与相应的控制器功能挂钩,而是直接返回视图,从而导致了此问题。花了一个半小时敲打我的头,直到我意识到失误。

修改

再次在此处突出显示另一个错误。确保正确传递数组。我正在做['key', 'value]而不是['key' => 'value']并遇到此问题。

答案 3 :(得分:-1)

public function returnTwoViews() {
    $variable = 'foo bar';
    $innerView = view('inner.view', ['variable' => $variable]);

    return view('wrapper.view, ['innerView' => $innerView]);
}

这可能是你在找什么?

...在你的wrapper.view模板中:

{!! $innerView !!}

编辑:回答评论中的问题:要获取每行,请在$innerView视图中执行此操作:

@foreach($variable as $item)
    {{ $item }}
@endforeach

...在包装器视图中它仍然是{!! $innerView !!}