在 Laravel Blade 文件中使用 IF 条件的正确方法是啥?
Posted
技术标签:
【中文标题】在 Laravel Blade 文件中使用 IF 条件的正确方法是啥?【英文标题】:What's the proper way to use IF condition in Laravel Blade file?在 Laravel Blade 文件中使用 IF 条件的正确方法是什么? 【发布时间】:2021-11-03 01:14:54 【问题描述】:表头:
@if($products->subcategory->name == 'Image')
<th>Demo</th>
@else
@endif
forelse 循环下的表格列:
@forelse ($products as $item)
<tr>
@if($item->subcategory->name == 'Image')
<td>
<p>$item->surl</p>
</td>
@else
@endif
</tr>
@endforelse
问题是:IF 条件在 forelse 循环内部有效,但在外部无效。 如果子类别名称为“图像”,我想隐藏/显示一列。
写这个条件的正确方法是什么。
【问题讨论】:
什么是 $products?它是一个数组吗?如果它是一个数组,那么你会找到像$products[0]->subcategory->name == "Image"
这样的索引
我不知道该怎么感谢你。你只是救了我的命!
不用担心.....
【参考方案1】:
如果$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 是否存在,并且还有许多其他方法可以检查相同的内容。一旦你验证了,你就可以去检查索引了。
【讨论】:
以上是关于在 Laravel Blade 文件中使用 IF 条件的正确方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章
使用 Blade 模板的 Laravel 5 表单中预选选项的条件 @if 语句
如何在 Laravel 的 PHP/Blade 中使用 Foreach 循环?
Laravel Blade If 语句在使用 Guard 进行身份验证检查时抛出非对象属性错误