我为foreach()laravel 5.2提供了一个错误的无效参数
这是我的控制器
public function cassocialshow(Request $request, $id)
{
if(!in_array(\Auth::user()->role, ['validation','guichet'])) return redirect()->back();
$admission = Admission::findOrFail($id);
//dd($admission);
return view('admissions.cassocialshow', compact('admission'));
}
这是我的视图
@foreach($admission->dossiersocials as $dossiersocial)
<tr>
<td>{{$dossiersocial->id}}</td>
<td>{{$dossiersocial->age}}</td>
<td>{{$dossiersocial->sexe}}</td>
<td>{{$dossiersocial->nationalite}}</td>
@endforeach
答案 0 :(得分:0)
@if(isset($admission->dossiersocials))
@foreach($admission->dossiersocials as $dossiersocial)
<tr>
<td>{{$dossiersocial->id}}</td>
<td>{{$dossiersocial->age}}</td>
<td>{{$dossiersocial->sexe}}</td>
<td>{{$dossiersocial->nationalite}}</td>
@endforeach
@endif
答案 1 :(得分:0)
@foreach中传递的参数应该是Collection类或数组的实例。
现在,您正在传递$ admission-> dossiersocials,它似乎是$ admission实例中的一个属性,最有可能是字符串,整数或布尔值。 所以这可能是问题的可能原因。
如果dossiersocials()在准入模型中是雄辩的关系,那么请确保它返回数组或集合实例。
此外,您可以将@foreach循环用这样的@if()语句包围
@if(!empty($admission->dossiersocials) && (is_array($admission->dossiersocials) || $admission->dossiersocials instanceof \Illuminate\Support\Collection))
@foreach($admission->dossiersocials as $dossiersocial)
// Put you code here
@endforeach
@endif
希望这会有所帮助。