如果变量不为空,则Laravel刀片连接字符串

时间:2017-11-02 09:41:10

标签: laravel if-statement concatenation blade

如果给定变量不为空,我尝试向链接添加id属性。为此,我使用了内联if语句。

<li><a {{ $link['element_id'] }}  != "" ? {{"id=" . $link['element_id'] }} : '' href="{{ url($link['url']) }}">{{$link['name']}}</a></li>

输出:enter image description here

4 个答案:

答案 0 :(得分:1)

尝试这样的事情:

<li>
    <a @if($link['element_id']!="") {{"id=" . $link['element_id'] }} @endif href="{{ url($link['url']) }}" >
        {{$link['name']}}
    </a>
</li>

但如果你真的想通过&#34; inline-if&#34; (这应该有效):

你的问题是你没有把php放在括号之间。

<li>
    <a {{ $link['element_id']!= "" ? "id=" . $link['element_id'] : ''}} href="{{url($link['url'])}}">
        {{$link['name']}}
    </a>
</li>

答案 1 :(得分:1)

我相信你的问题是它本身就是php。你尝试过使用

吗?
<li><a {{ $link['element_id'] != "" ? 'id=' . $link['element_id'] : ''}} href="{{ url($link['url']) }}">{{$link['name']}}</a></li>

另一个好的做法是在php代码中使用一种类型的引号,最好是单引号。

答案 2 :(得分:1)

您可以在刀片胡子语法中使用条件:

<li><a id="{{ $link['element_id'] != '' ? $link['element_id'] : '' }} href="{{ url($link['url']) }}">{{$link['name']}}</a></li>

答案 3 :(得分:1)

这个应该有效:

<li>
    <a id="{{ $link['element_id'] !== '' ? $link['element_id'] : null }}" href="{{ url($link['url']) }}">
        {{ $link['name'] }}
    </a>
</li>