在 Laravel Blade 文件中使用 IF 条件的正确方法是什么?

What's the proper way to use IF condition in Laravel Blade file?

Table Header:

@if($products->subcategory->name == 'Image')
  <th>Demo</th>
@else

@endif

Table forelse 循环下的列:

@forelse ($products as $item)
  <tr>
      @if($item->subcategory->name == 'Image')
         <td>
            <p>{{$item->surl}}</p>
         </td>
        @else
      @endif 
 </tr>
@endforelse

问题是:IF 条件在 forelse 循环内部有效但在外部无效。 如果子类别名称是“图像”,我想 hide/show 一列。

写这个条件的正确方法是什么。

如果$products是一个数组那么你可以这样做:

@foreach($products as $item)
 <tr>
  @if($item->subcategory->name == 'Image')
     <td>
        <p>{{$item->url}}</p>
     </td>
    @else
  @endif 
 </tr>
@endforeach

如果您有任何特定的索引,那么您可以这样做:

@if(isset($products[2]) && ($products[2]->subcategory->name == "Image") 
<td>
        <p>{{$products[2]->url}}</p>
     </td>
@endif

它将检查索引 2 是否存在,还有许多其他方法可以检查同样的内容。验证通过后就可以去查索引了。