我有以下循环遍历用户帐户并显示它们的代码:
@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/