php - Laravel Blade {{ $variable 或 'Default Text' }} 不使用 URL

标签 php laravel laravel-5 laravel-blade

我有以下循环遍历用户帐户并显示它们的代码:

@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 时,它会正确显示。但是当没有个人资料照片时,不会显示默认 URL。

我做错了什么?

我正在使用 Laravel 5.1

最佳答案

阅读您的问题,我敢说您对“或” Blade 语法有点困惑。如 official documentation 中所述, 'or' 是“Echoing Data If It Exists”的简洁快捷方式,但如果它不是 null 或空(我认为这是你的情况)...

例如,通常您会从数据库中获取模型,其中一些字段只是EMPTY(''、0、false 等),但这并不意味着它们不存在.在这种情况下,“或”语法将不适合您,因为它翻译成:

{{ isset($name) ? $name : 'Default' }}

...我认为您正在搜索类似的内容:

{{ (isset($name) && $name != '') ? $name : 'Default' }}

...或者如果您确实知道您正在评估的变量存在,只需(对于文本字段):

{{ ($name != '') ? $name : 'Default' }}

关于php - Laravel Blade {{ $variable 或 'Default Text' }} 不使用 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32030194/

相关文章:

php - 如何在 Laravel 中自动创建子域

html - 无法设置模态内部元素的tabindex

php - Laravel 5 中间件 "Owner"?

php - 使用 PHP 将网页连接到数据库会产生奇怪的结果

Laravel API resourceCollection 使用数组而不是模型

php - 选择然后从数据库中删除

php - Laravel Pivot 具有多个值

Laravel 隐式模型绑定(bind)省略参数

php - 自动为 $fillable 属性赋值 (Laravel 4)

javascript - 有没有 PHP 函数可以将数字转换为带有千位分隔符的货币?