首页 > 解决方案 > Laravel 刀片中@if @else 阶梯的正确语法

问题描述

我试图证明不。通知用户,使用徽章,其逻辑如下

到目前为止,我尝试在 Laravel Blade 中使用它,但它没有改变颜色。它保持绿色 ( badge-success)

<span class="badge 
    @if(auth()->user()->notifications != 0)
        badge-success 
    @elseif(auth()->user()->notifications > 7) 
        badge-warning 
    @elseif(auth()->user()->notifications > 15)
        bg-danger 
    @endif" id="notfs">

    @if(auth()->user()->notifications != 0)
        {{ auth()->user()->notifications }} 
    @endif
</span>Notifications

我想有一些语法错误,但可能是一些逻辑错误?

标签: laravel

解决方案


你的条件基本上是颠倒的。目前,如果他们有任何通知,第一个条件是真的,所以它永远不会到达elseif部件。

@if(auth()->user()->notifications > 15)
    danger
@elseif(auth()->user()->notifications > 7)
    warning
@elseif(auth()->user()->notifications != 0)
    success
@endif

推荐阅读