如果表为空,我想显示默认数据。我在 laravel 文档中搜索并找到了这个。
在我的控制器中,我向我的show.blade.php
发送数据
public function show($id)
{
//Get profile data from the user
$user = User::find($id);
return view( 'gebruiker/show',[
'user' => $user,
] );
}
在我的blade
中,我显示数据
@foreach ($user->profile as $profile)
<div class="col-md-12 col-xs-12" align="center">
<h1>{{ $profile->user->name or 'Geen naam' }}
</h1>
<h3>{{ $profile->age or 'Geen leeftijd' }}</h3>
<span>{{ $profile->country or 'Geen land' }}</span>
</div>
<div class="col-md-6 col-xs-6 follow line" align="center">
<h3>
Bezoekers <br/> <span>{{ $profile->visitors or 'Geen bezoekers' }}</span>
</h3>
</div>
<div class="col-md-12 col-xs-12 login_control text-center">
<br>
{{ $profile->profile or 'Geen beschrijving' }}
</div>
@endforeach
当$profile->age
不为空时,它会显示数据,但当没有数据时,它什么也不显示。我做错了什么?
在刀片中,"or"仅检查变量是否存在。以免尝试这样的事情:
@if(!empty($profile->age))
{{ $profile->age }}
@else
Geen leeftijd
@endif
你也可以试试这个:
@if($profile->age !='' && $profile->age !='0')
{{ $profile->age }}
@else
Geen leeftijd
@endif
根据您的需求,您可以在模型中创建一个访问器:
public function getAgeAttribute($value)
{
return !empty($value) ? $value : 'Geen leeftijd';
}
理想情况下,这应该存在于演示者中。太糟糕了{{ $profile->age or 'Geen leeftijd' }}
不起作用,它应该。可能很快就会有人为它做公关。