Laravel:刀片foreach循环自举列

时间:2017-01-14 13:44:10

标签: php laravel loops foreach laravel-5.3

我有一个foreach循环,里面包含带引导列的html。

@foreach($address as $add)
    <div class="col-md-6">
        Some data
    </div>
@endforeach

但是,bootstrap在创建列之前需要行div,将其直接放入foreach循环会为每个col-md-6创建一个行div。我想知道如何抛出行div,跳过下一个循环只抛出结束div标签。然后重复这个过程。

循环4次的示例输出:

<div class="row">
    <div class="col-md-6">
        Some data
    </div>
    <div class="col-md-6">
        Some data
    </div>
</div>
<div class="row">
    <div class="col-md-6">
        Some data
    </div>
    <div class="col-md-6">
        Some data
    </div>
</div>

3 个答案:

答案 0 :(得分:30)

作为Alexey Mezenin答案的替代方案,您可以使用array_chunk代替。 http://php.net/manual/en/function.array-chunk.php

@foreach(array_chunk($address, 2) as $chunk)
    <div class="row">
        @foreach($chunk as $add)
            <div class="col-md-6">
                Some data
            </div>
        @endforeach
    </div>
@endforeach

我个人觉得上面的内容更具可读性。

或者,如果$address是一个集合,则可以$address->chunk(2)代替array_chunk($address, 2)

如果您想更改所拥有的列数,则只需将2更改为您想要的多列。

希望这有帮助!

答案 1 :(得分:5)

使用the $loop variable

convert -delay 10x100 your.gif your_slow.gif

答案 2 :(得分:3)

您可以在刀片模板中使用Laravel chunk。

@foreach($products->chunk(3) as $items)
<div class="row">
   @foreach($items as $item)
   <div class="col-md-4 portfolio-item">
      <a href="#">
      <img class="img-responsive" src="{{ 'uploads/'.$item->product_image_url }}" alt="">
      </a>
      <h3>
         <a href="/view-product-details/{{ $item->id }}">{{ $item->product_name }}</a>
      </h3>
      <p>{{ str_limit($item->product_description, 121) }}</p>
   </div>
   @endforeach
</div>
@endforeach

blogpost复制。