如何在控制器传递的变量 (laravel) 中使用 blade 进行 foreach
How to foreach with blade in a controller passed variable (laravel)
我正在尝试 foreach 在 php 变量中 blade。我通过我的控制器将我的变量传递到我的视图,但是视图 return 我 Undefined variable
。我想知道这样做的正确方法是什么。
我的控制器:
return view('pages.menu')->with([
'someList' => $this->someList
]);
我的看法:
@foreach($someList as $item)
@include('item.line', [
'itemName' => $item->name,
'itemValue' => $item->itemValue
])
@endforeach
编辑:
由于我无法删除,因为 OP 已经接受了答案,它现在只是基于文档的推测信息。根据来源,你所做的应该有效:
https://github.com/laravel/framework/blob/v5.5.28/src/Illuminate/View/View.php#L177-L186
感谢@patricus 指出这一点:
While the docs may not show that it is supported, you can pass an
array in the with() method. If you do, it is array_merged into the
current data set.
原答案:
根据文档,https://laravel.com/docs/5.5/views#passing-data-to-views
您可以将数据数组传递给视图:
return view('greetings', ['name' => 'Victoria']);
以这种方式传递信息时,数据应该是一个包含键/值对的数组。
在您的视图中,您可以使用相应的键访问每个值,例如 <?php echo $key; ?>
。
作为将完整数据数组传递给视图辅助函数的替代方法,您可以使用 with 方法将单独的数据 添加到视图:
return view('greeting')->with('name', 'Victoria');
所以根据文档,with
可能不支持传递单个数组,所以你应该更改:
return view('pages.menu')->with([
'someList' => $this->someList
]);
收件人:
return view('pages.menu')->with('someList', $this->someList);
或:
return view('pages.menu', [
'someList' => $this->someList
]);
我正在尝试 foreach 在 php 变量中 blade。我通过我的控制器将我的变量传递到我的视图,但是视图 return 我 Undefined variable
。我想知道这样做的正确方法是什么。
我的控制器:
return view('pages.menu')->with([
'someList' => $this->someList
]);
我的看法:
@foreach($someList as $item)
@include('item.line', [
'itemName' => $item->name,
'itemValue' => $item->itemValue
])
@endforeach
编辑: 由于我无法删除,因为 OP 已经接受了答案,它现在只是基于文档的推测信息。根据来源,你所做的应该有效:
https://github.com/laravel/framework/blob/v5.5.28/src/Illuminate/View/View.php#L177-L186
感谢@patricus 指出这一点:
While the docs may not show that it is supported, you can pass an array in the with() method. If you do, it is array_merged into the current data set.
原答案:
根据文档,https://laravel.com/docs/5.5/views#passing-data-to-views
您可以将数据数组传递给视图:
return view('greetings', ['name' => 'Victoria']);
以这种方式传递信息时,数据应该是一个包含键/值对的数组。
在您的视图中,您可以使用相应的键访问每个值,例如 <?php echo $key; ?>
。
作为将完整数据数组传递给视图辅助函数的替代方法,您可以使用 with 方法将单独的数据 添加到视图:
return view('greeting')->with('name', 'Victoria');
所以根据文档,with
可能不支持传递单个数组,所以你应该更改:
return view('pages.menu')->with([
'someList' => $this->someList
]);
收件人:
return view('pages.menu')->with('someList', $this->someList);
或:
return view('pages.menu', [
'someList' => $this->someList
]);