Laravel Blade:将数组作为参数传递给yield部分

Pas*_*eld 5 arrays parameters yield laravel blade

我想将一个数组作为参数从我的控制器传递到刀片模板.

我的控制器看起来像这样:

$myArray = array('data' => 'data');
return View::make('myTableIndex')
    ->nest('myTable', 'my_table_template', $myArray)
Run Code Online (Sandbox Code Playgroud)

在我的刀片模板中,我得到了这样的收益率:

@yield('myTable', $myArray)
Run Code Online (Sandbox Code Playgroud)

但我得到错误:

Error: Array to string conversion
Run Code Online (Sandbox Code Playgroud)

那是因为yield函数只接受字符串,对吧?

背景是:我想要一个表格模板,我可以动态地用于多种目的或多个数据,所以我可以为多个表使用相同的模板,只需将列和内容作为数组传递.

如何将数组传递给yield部分?

The*_*pha 11

您可以使用单独的文件并包含文件,@include同时您可以使用动态变量名称传递数据,这样您就可以在包含的视图中使用该变量名称,例如:

@include('view.name', ['variableName' => $array])
Run Code Online (Sandbox Code Playgroud)

因此,在view.name视图中,您可以使用/访问$arrayusing $variableName变量,您可以自由使用任何名称variableName.

所以,在单独的视图中,即:view.name你可以使用a section并做任何你想做的事情$variableName.


注意:问题已在评论部分解决,但在此处作为答案添加以供将来参考,因此任何观看者来这里遇到类似问题都可以轻松获得答案.

  • 这不是答案。 (3认同)