微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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' }}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐