如何检查名称是否等于不能在Laravel刀片中打印的名称

时间:2019-11-21 19:16:58

标签: laravel laravel-blade

我正在尝试检查类别名称是否不等于'DETALLES DE COMPRA '以打印类别,我希望能够做到这一点

@foreach($product->items['lists'] as $category)                                    
    @if($category['category']->type == 'list')
        <div class="row pb-1">
            @if($category['category']->name !== 'DETALLES DE COMPRA' ||
                $category['category']->name !== 'DETALLES DE COMPRA ')

                    <p class="uppercase">
                        <strong> {{ $category['category']->name }} </strong>
                    </p>
                    @foreach($category['fields'] as $list)
                        <li style="margin-bottom: 10px; font-size: small;
                            list-style-position: inside; padding-left: 0">
                                {{ $list['value'] }}
                        </li>
                    @endforeach
            @endif
        </div>
    @endif
@endforeach

这是行不通的,但是如果if语句是这样的,那么它将起作用。

@if($category['category']->name !== 'DETALLES DE COMPRA ')

而且这也不起作用

@if($category['category']->name !== 'DETALLES DE COMPRA')

我想检查其中一个,名称后面有空格,但没有空格。如何检查两者?

2 个答案:

答案 0 :(得分:2)

此:

 @if($category['category']->name !== 'DETALLES DE COMPRA' ||
                $category['category']->name !== 'DETALLES DE COMPRA ')

确定a是否不等于b OR 如果a不等于c。您想要:

 @if($category['category']->name !== 'DETALLES DE COMPRA' &&
                $category['category']->name !== 'DETALLES DE COMPRA ')

a不应等于b a不应等于c。

一种更简单的方法是在比较之前修剪a:

@if(trim($category['category']->name) !== 'DETALLES DE COMPRA')

答案 1 :(得分:2)

您必须使用&&代替||。

原因是因为运算符||检查其中一个条件是否成立,如果其中一个条件成立,请输入代码块。

操作员&&检查所有条件是否都为真,如果只有一个条件为假,则不输入代码块。

因此,您的条件必须是:

@if($category['category']->name !== 'DETALLES DE COMPRA' &&
                $category['category']->name !== 'DETALLES DE COMPRA ')