[英]POST method of <form> is not working inside @foreach on blade file in laravel 5.6
[英]laravel 5.6 error in a foreach blade view
在数组的数组迭代期间,我遇到此错误:
为foreach()提供的参数无效(视图:C:\\ xampp \\ htdocs \\ smartcalws \\ resources \\ views \\ location \\ index.blade.php
视图中的代码下方:
@foreach($Nations as $e)
<tr>
<th scope="row">{{$e->id}}</th>
<td>{{$e->name}}</td>
@foreach($e->districts as $d)
<td>{{$d->name}}</td>
@endforeach
@endforeach
谁能知道为什么?
在控制器中,如果我执行foreach,则所有工作都可以通过echo正常工作:
foreach($Nations as $e){
foreach($e->districts as $d){
echo $d->name;
}
}
所有国家都有地区。 回显将打印所有区域。 我认为问题出在刀片页面上...
return view('Nations.index',compact('Nations',$Nations));
刀片看起来正确。 确保在“ Nations
中将正确的参数传递给刀片视图。 它可能在抱怨第一个foreach。 您在控制器中需要以下内容。
return view('yourview', [
'Nations' => $Nations
]);
与使用小写变量名称保持一致可能也很好。 也许您正在通过关键nations
但想要使用Nations
。
您的问题是发送数据以查看
compact('Nations', $Nations) // It's wrong
尝试以下方法:
return view('Nations.index', compact('Nations'));
return view('Nations.index', ['Nations' => $Nations]);
return view('Nations.index')->withNations($Nations);
return view('Nations.index')->with('Nations', $Nations);
确保将阵列传递到刀片。
另外,如果数组计数> 0,则应检查循环
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.