Laravel-条件不适用于刀片

时间:2019-08-20 04:16:41

标签: laravel

这个问题使我伤脑筋,我找不到解决办法

Laravel版本:5.5.47

我有最简单的if语句:

@foreach($order->ship as $os)
  @if($os->destination_info != 0)
    {{ $os->destination_info }}
  @endif
@endforeach

由于某种原因,它不打印任何内容。我已经尝试了所有选项。如果我只打印不带@if的变量,它将给我巴塞罗那西班牙,因此条件是正确的,应该打印

这是我的$ order->船:

Illuminate\Support\Collection Object
(
    [items:protected] => Array
        (
            [0] => stdClass Object
                (
                    [ship_id] => 92
                    [order_id] => 593
                    [origin_id] => 11
                    [origin_info] => Shenzhen - China
                    [destination_id] => 22
                    [destination_info] => Barcelona - Spain
                    [cbm] => 3.4151
                    [container] => C
                    [container_load_date] => 1566489600
                    [container_arrival_date] => 1567180800
                    [container_number] => 10009000
                    [price] => 53.5
                    [status] => 1
                    [time] => 1565842730
                )

            [1] => stdClass Object
                (
                    [ship_id] => 93
                    [order_id] => 593
                    [origin_id] => 15
                    [origin_info] => Guangzhou - China
                    [destination_id] => 22
                    [destination_info] => Barcelona - Spain
                    [cbm] => 4.736
                    [container] => C
                    [container_load_date] => 1566489600
                    [container_arrival_date] => 1566576000
                    [container_number] => 10009000
                    [price] => 52.85
                    [status] => 1
                    [time] => 1565842730
                )

        )

)

1 个答案:

答案 0 :(得分:1)

根据您的数组表示形式,destination_info是一个字符串,您正在将其与数字进行比较。您可以尝试将issetis_null函数与not运算符配合使用。它会帮助您

@foreach($order->ship as $os)
  @if(!is_null($os->destination_info))
    {{ $os->destination_info }}
  @endif
@endforeach

您可以使用PHP isset

@foreach($order->ship as $os)
      @if(isset($os->destination_info))
        {{ $os->destination_info }}
      @endif
@endforeach

您可以从php官方文档中详细了解issetis_null