编程语言
首页 > 编程语言> > php-Laravel Blade {{$variable或’Default Text’}}无法使用网址

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