web-dev-qa-db-ja.com

Laravelブレード:配列をパラメーターとして渡してセクションを生成する

配列をパラメーターとしてコントローラーからブレードテンプレートに渡したいのですが。

私のコントローラーは次のようになります。

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

私のブレードテンプレートでは、次のような歩留まりがあります。

@yield('myTable', $myArray)

しかし、エラーが発生しました:

Error: Array to string conversion

これは、yield関数が文字列のみを受け入れるためです。

背景は次のとおりです。複数の目的または複数のデータに動的に使用できるテーブルテンプレートが必要なので、同じテンプレートを複数のテーブルに使用して、列とコンテンツを配列として渡すことができます。

配列をyieldセクションに渡すにはどうすればよいですか?

6

別のファイルを使用し、@includeを使用してファイルを含めることができますが、動的変数名でデータを渡すと、インクルードされたビューでその変数名を使用できるようになります。次に例を示します。

@include('view.name', ['variableName' => $array])

したがって、view.nameビューでは$array変数を使用して$variableNameを使用/アクセスでき、variableNameには任意の名前を自由に使用できます。

したがって、別のビュー、つまりview.nameでは、sectionを使用して、$variableNameでやりたいことを何でも行うことができます。


注:問題はコメントセクションで解決されましたが、今後の参照のためにここに回答として追加されたため、同様の問題のためにここに来た視聴者は簡単に回答を得ることができます。

13
The Alpha