隐藏集合中的每个空变量

时间:2019-05-16 11:33:03

标签: php laravel laravel-blade

有时{{$vs->users2}}{{$vs->users3}}将具有null值,如果两个或其中之一具有null值,我需要将它们隐藏。我尝试过isset或isull,但是它们都不起作用。

@foreach ($vs as $vs)
    <div class="list-group-item" ng-hide="$vs->users == null">
            <h4>{{$vs->gps_vs}}</h4>
            <h5>Participantes: {{$vs->users4}} {{$vs->users3}} <a>VS</a> {{$vs->users1}} {{$vs->users2}}
            </h5>
            <a>Empieza: {{$vs->time_vs}} {{$vs->date_vs}} </a><a>Creado por: {{$vs->users4}}</a> 
        <div class="right2">
                {!! Form::open(['action' => ['MatchController@destroy', $vs->id], 'method' => 'POST']) !!}
                {{Form::hidden('_method', 'DELETE')}}
                {{Form::submit('Borrar evento', ['class'=>"btn btn-danger"])}}
            {!! Form::close() !!}
        </div>       
    </div>    
@endforeach

我的表单中包含空值的地方

<select class="col-sm-2 form-control" name="users3">
        <option selected value=null>Nothing</option>
      @foreach($users3 as $users3)
        @if ($users3->id == 0 or $users3->id == Auth::user()->id);
        @else
        <option value="{{$users3->nick}}">{{$users3->nick}}</option> 

        @endif
      @endforeach

    </select>

3 个答案:

答案 0 :(得分:1)

可以,

{{$vs->users2 or ''}}

如果引发错误,则可以通过@ error control operator

禁用它
{{@$vs->users2}}

您也可以将其用于users3

编辑

将ur foreach更改为@foreach ($vs as $v)

  

注意:循环时,数组名称和值名称不能相同。

,然后将其中的每个vs替换为v。

编辑2

您的最终html应该看起来像这样

@foreach ($vs as $v)
    <div class="list-group-item" ng-hide="$v->users == null">
            <h4>{{$v->gps_vs}}</h4>
            <h5>Participantes: {{$v->users4 or ''}} {{$v->users3 or ''}} <a>VS</a> {{$v->users1 or ''}} {{$v->users2 or ''}}
            </h5>
            <a>Empieza: {{$v->time_vs}} {{$v->date_vs}} </a><a>Creado por: {{$v->users4}}</a> 
        <div class="right2">
                {!! Form::open(['action' => ['MatchController@destroy', $v->id], 'method' => 'POST']) !!}
                {{Form::hidden('_method', 'DELETE')}}
                {{Form::submit('Borrar evento', ['class'=>"btn btn-danger"])}}
            {!! Form::close() !!}
        </div>       
    </div>    
@endforeach

答案 1 :(得分:0)

在Laravel 5.7中,删除了引用@quickSwap的答案or刀片功能,转而使用PHP的??空合并运算符。您可以使用

{{$vs->users2 ?? ''}}

答案 2 :(得分:0)

正如@quickSwap所说的{{@ $ vs-> users2}}或{{$ vs-> users2或}}}一样有效,但我忘了进行迁移

$table->string('users3')->nullable();

在数据库中启用空值。