在刀片 laravel 中多次防止 foreach 循环 html 标记
Posted
技术标签:
【中文标题】在刀片 laravel 中多次防止 foreach 循环 html 标记【英文标题】:Prevent foreach from loop html tag multiple time in blade laravel 【发布时间】:2021-12-26 08:47:04 【问题描述】:我正在尝试使用 foreach 循环数据,并且我想在循环第一个项目后跳过 html 标记。
我已经尝试了下面的代码,但是 html 标签<p>
仍然被循环多次。我想要的是 <p>
标签只循环一次
@foreach ($store_icon as $key => $icon)
@if ($key < 1)
<p class="available-at">Also available at:</p>
@endif
<a href=" $store->product_url " target="_blank" style="margin-right: 2px"></a>
@endforeach
结果示例:
我想要的是这样的:
Also Available at
- Product 1
- Product 2
但是使用上面的代码,结果是这样的:
Also Available at
- Product 1
Also Available at
- Product 2
谢谢
【问题讨论】:
【参考方案1】:我不知道为什么它不工作,它必须工作并且工作相同的代码,你可以试试 --
@foreach ($store_icon as $key => $icon)
@if ($key == 0)
<p class="available-at">Also available at:</p>
@endif
<a href=" $store->product_url " target="_blank" style="margin-right: 2px"></a>
@endforeach
或者你可以这样使用
@if(!empty($store_icon))
<p class="available-at">Also available at:</p>
@foreach ($store_icon as $key => $icon)
<a href=" $store->product_url " target="_blank" style="margin-right: 2px"></a>
@endforeach
@endif
【讨论】:
如果我转储 $icon 它看起来像这样:pastebin.com/qzkiTqcx 顺便说一句,这也行不通 我已经用其他替代方法更新了我的答案。您可以检查特定集合是否有数据 谢谢!它使用第二个答案工作【参考方案2】:什么问题?只需将其从循环中取出即可。
<p class="available-at">Also available at:</p>
@foreach ($store_icon as $key => $icon)
<a href=" $store->product_url " target="_blank" style="margin-right: 2px"></a>
@endforeach
【讨论】:
如果没有循环数据我想隐藏标签 使用@if (!$store_icon) <p class="available-at">Also available at:</p> @endif
以上是关于在刀片 laravel 中多次防止 foreach 循环 html 标记的主要内容,如果未能解决你的问题,请参考以下文章
如何在刀片模板的 foreach 循环中访问 laravel 集合?
如何在控制器传递变量(laravel)中使用刀片进行 foreach
Laravel 5.1 - 表单中的 Foreach 数据(刀片)