[英]Laravel Blade {{ $variable or 'Default Text' }} not working with URLs
我有以下代碼循環用戶的帳戶並顯示它們:
@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
閱讀你的問題,我敢說你對'或'刀片語法有點困惑。 正如官方文檔中所述,'或'是“ 如果它存在時回應數據 ”的簡潔 ,但如果它不是空或空(如我認為這是你的情況)則不是......
例如,通常你會從數據庫中獲取模型,其中一些字段只是EMPTY ('',0,false等),這並不意味着它們不存在。 在這種情況下,'或'語法將不適合您,因為它轉換為:
{{ isset($name) ? $name : 'Default' }}
......我想你正在尋找類似的東西:
{{ (isset($name) && $name != '') ? $name : 'Default' }}
...或者,如果您確實知道您正在評估的變量存在,只需(對於文本字段):
{{ ($name != '') ? $name : 'Default' }}
你可以這樣使用:
{{ isset($account->profile_pic_url) ? $account->profile_pic_url : '/profiles/anonymousUser.jpg' }}
碼:
@foreach ($accounts as $account)
<tr>
<td class="user-image hidden-xs hidden-sm">
<a href="#">
<img src="{{ isset($account->profile_pic_url) ? $account->profile_pic_url : '/profiles/anonymousUser.jpg' }}" class="img-circle" alt="user-pic" width="48px">
</a>
</td>
<tr>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.