数据传递给视图,无法在布局中访问 - Laravel控制器

sha*_*ane 6 views controllers laravel

如果我在控制器中有这个

$this->layout->nest('content', 'home.index', $array);

我只能访问$arrayhome.index.blade.php模板文件中的数据,而不是layouts.main我正在使用的数据.

布局和视图加载正确,我只是无法访问布局文件中控制器中传递的任何数据.

那里有人可以提供帮助吗?

澄清 - 说我想将一个title变量传递给我的layout.main,我该怎么做呢?我上面发布的方法只允许我$array从index.blade.php的'content'中访问

Dav*_*ker 7

要将数据传递给布局,请使用第一个参数作为变量的名称.

当你这样做时发生了什么:

$this->layout->nest('content', 'home.index', $array);
Run Code Online (Sandbox Code Playgroud)

嵌套视图home.index,它接受$ array的参数.您没有创建可在布局中使用的变量.

您为布局创建的变量是$ content,它将显示传递给它的视图的内容,这特定于'nest'方法.

如果您查看API,您会注意到控制器中声明的'layout'是以下实例: Laravel\View

这有一个调用方法with,它为视图提供变量.

要使用它尝试这样的事情:

$this->layout->with( 'myVariable' , $variable_to_pass_to_layout )
             ->nest('content', 'home.index', $array)
Run Code Online (Sandbox Code Playgroud)