猿问

foreach Laravel 中的最少 3 个元素

我有一个最多可以包含 3 个元素的集合。可以是 1 个元素,也可以是 2 个元素。如果我只有 1 个元素,或者集合中有 2 个元素,我需要检查它并添加 html。


我的代码:


@foreach($collections->take(3)->get() as $collection)

    {{ $collection->name }}

    @if($collections->count() == 1)

       <div>empty</div>

    @endif

    @if($collections->count() == 2)

       <div>empty</div>

       <div>empty</div>

    @endif

@endforeach

我需要得到这个结果:


Collection name

empty

empty

或者如果我有 2 个元素在集合中,我需要得到结果:


Collection name

Collection name

empty

如果我在集合中有 3 个元素,我需要得到:


Collection name

Collection name

Collection name

我怎么能做到?


拉风的咖菲猫
浏览 107回答 1
1回答

RISEBY

我看不出您当前的代码不起作用的原因,但是您可以尝试以下方法。像以前一样遍历受 3 限制的集合,然后运行一个for循环 - 如果$collections->count()是 2,则3-2 = 1,所以你得到了 for 循环的 1 次迭代。如果计数为 3 或更高,则for循环的条件永远不会为真,并且不会打印任何内容。@foreach($collections->take(3)->get() as $collection)&nbsp; &nbsp; {{ $collection->name }}@endforeach@for ($i = 0; $i < 3 - $collections->count(); i++)&nbsp;&nbsp; &nbsp; &nbsp;<div>empty</div>@endfor
随时随地看视频慕课网APP
我要回答