Laravel:刀片foreach循环自举列

Tho*_*rth 12 php foreach loops laravel laravel-5.3

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

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

但是,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>
Run Code Online (Sandbox Code Playgroud)

Rwd*_*Rwd 32

作为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
Run Code Online (Sandbox Code Playgroud)

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

或者,如果$address是一个集合,你可以做$address->chunk(2)而不是array_chunk($address, 2).

如果您想要更改列数,则只需更改所需的列数即可2.

希望这可以帮助!


Ale*_*nin 5

使用$loop变量:

<div class="row">
    @foreach($address as $add)
        <div class="col-md-6">
            Some data
        </div>
        @if ($loop->iteration % 2 == 0)
            </div>
            <div class="row">
        @endif
    @endforeach
</div>
Run Code Online (Sandbox Code Playgroud)


Isu*_*uru 5

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

@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
Run Code Online (Sandbox Code Playgroud)

复制自博客文章