嘿,因为我正在通过一个拥有自己的控制器的刀片视图,我将它包含在没有自己的控制器的视图中。它给了我一个未定义的变量错误,任何人都可以帮助我如何做到这一点。
我有一个视图,在这个视图中没有任何控制器只有像此Route::get('index', function () { return view('index'); });
这样的Route我正在传递另一个视图,它有自己的控制器并且还有一些来自数组的数据。但在视图中使用此视图后,我得到未定义的变量错误。
答案 0 :(得分:6)
两个步骤。
声明&将 $ variable 转移到控制器功能查看。
公共职能指数() { return view(“index”,[“variable”=> $ variable]); }
指示控制器中 $。变量的转移位置 view.blade.php 。
{{$ variable}}
如果你不确定,是否转移$ 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 !!}