我想将一个数组作为参数从我的控制器传递到刀片模板。
我的控制器看起来像这样:
$myArray = array('data' => 'data');
return View::make('myTableIndex')
->nest('myTable', 'my_table_template', $myArray)
在我的刀片模板中,我得到了这样的收益:
@yield('myTable', $myArray)
但是我得到了错误:
Error: Array to string conversion
那是因为yield函数只接受字符串,对吧?
背景是: 我想要一个表格模板,我可以动态地用于多种目的或多个数据,所以我可以为多个表使用相同的模板,只需将列和内容作为数组传递。
如何将数组传递给yield部分?
答案 0 :(得分:11)
您可以使用单独的文件并使用@include
包含文件,同时您可以使用动态变量名称传递数据,这样您就可以在包含的视图中使用该变量名称,例如:< / p>
@include('view.name', ['variableName' => $array])
因此,在view.name
视图中,您可以使用/ $array
使用$variableName
变量来访问variableName
,您可以view.name
使用任何名称。
因此,在单独的视图中,即section
,您可以使用$variableName
并使用bottomLayoutGuide
执行任何操作。
注意:问题已在评论部分解决,但在此处作为答案添加以供将来参考,因此任何观看者来这里寻找类似问题都可以轻松获得答案。
答案 1 :(得分:1)
您不能将参数传递给节,但是由于 @yield
逻辑都是关于嵌套在使用变量的父级中,因此必须将参数传递给父级声明,在那里添加它:
@extends('parent_view',['parameter_name'=>'parameter_value'])