今天早上发生在我身上的一个最奇怪的错误
当我第一次打开模型的展示刀片时,我得到了这个
未定义的变量:engs(查看:C:\ wamp64\www\Form\resources\views\dashboard\placeShow.blade.php)
但是当我刷新页面或重新打开它时,一切正常
我的控制器:
public function showPlace($id)
{
$place = Place::find($id);
if (!$place->seen->contains(Auth::user()->id)) {
$place = $place->seen()->save(Auth::user());
}
if ($place->media) {
$media = $place->media;
$engs = $media->where('category', 'engs');
$heritages = $media->where('category', 'heritages');
$estates = $media->where('category', 'estates');
$others = $media->where('category', 'others');
return view('dashboard.placeShow')->with(['place' => $place, 'engs' => $engs, 'heritages' => $heritages, 'estates' => $estates, 'others' => $others]);
}else{
return view('dashboard.placeShow')->with(['place' => $place]);
}
Run Code Online (Sandbox Code Playgroud)
我的刀片是:
<ul>
@foreach($engs as $eng)
<li><a target="_blank" href="/{{$eng->href}}">{{$eng->old_name}}</a></li>
@endforeach
</ul>
Run Code Online (Sandbox Code Playgroud)
问题是什么
使用以下代码更新您的代码:
<ul>
@if(isset($engs))
@foreach($engs as $eng)
<li><a target="_blank" href="/{{$eng->href}}">{{$eng->old_name}}</a></li>
@endforeach
@else
<li>Records not found..!</li>
@endif
</ul>
Run Code Online (Sandbox Code Playgroud)
我认为这个问题虽然if ($place->media)失败了。