通过数据的查看,在布局不可访问 - Laravel控制器(Data passed to view,

2019-07-30 13:22发布

如果我有这在我的控制器

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

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

布局&视图负载正确,我不能访问在从布局文件的控制器传递的任何数据。

任何人在那里,可以帮助?

为了澄清-说我想一个通过title变量来我layout.main,我会怎么做呢? 我上面张贴的唯一方法可以让我访问$array从index.blade.php的“内容”中

Answer 1:

将数据传递到布局使用第一个参数作为变量的名称。

当你正在做这个正在发生的事情:

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

是的嵌套花费$阵列的参数视图home.index。 你是不是创建一个可以在布局中使用的变量。

要创建布局的变量$内容,将显示传递给它的视图的内容,这是具体到“鸟巢”的方法。

如果你看看API你会发现,在控制器中声明“布局”是一个实例: Laravel\View

这有一个名为方法with供应变量视图。

要使用它尝试是这样的:

$this->layout->with( 'myVariable' , $variable_to_pass_to_layout )
             ->nest('content', 'home.index', $array)


Answer 2:

另一种解决方案是让所有可用的数据与您的意见

View::share('myVariable', $variable_to_pass_to_layout);

可能是让任何人访问它有用。



文章来源: Data passed to view, not accessible in layout - Laravel Controllers