簡體   English   中英

Laravel Blade {{$ variable或'Default Text'}}無法使用網址

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM