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

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...