php-Laravel Blade {{$variable或’Default Text’}}无法使用网址
作者:互联网
我有以下代码遍历用户帐户并显示它们:
@foreach ($accounts as $account)
<tr>
<td class="user-image hidden-xs hidden-sm">
<a href="#">
<img src="{{ $account->profile_pic_url or '/profiles/anonymousUser.jpg' }}" class="img-circle" alt="user-pic" width="48px">
</a>
</td>
<tr>
如果该帐户确实具有个人资料图片网址,则可以正确显示.但是,如果没有个人资料照片,则不会显示默认URL.
我究竟做错了什么?
我正在使用Laravel 5.1
解决方法:
阅读您的问题,我敢说您对’or’刀片语法有点困惑.如official documentation中所述,“或”是“如果存在则回显数据”的简洁捷径,但如果它不为null或为空,则不是这样(我认为是您的情况)…
例如,通常您会从数据库中获取模型,其中某些字段仅为EMPTY(”,0,false等),这并不意味着它们不存在.在这种情况下,’or’语法将不适合您,因为它会翻译为:
{{ isset($name) ? $name : 'Default' }}
…而且我认为您正在寻找类似的内容:
{{ (isset($name) && $name != '') ? $name : 'Default' }}
…或者如果您当然知道您要评估的变量存在,只需(对于文本字段):
{{ ($name != '') ? $name : 'Default' }}
标签:laravel,laravel-5,blade,php 来源: https://codeday.me/bug/20191119/2039454.html