2016-10-20 9 views
1

私は、n番目のオブジェクトごとにdivを挿入する必要があるforeachループを持っています。laravelでn番目のオブジェクトごとにdivを挿入する方法

@if(count($articles)) 

    @foreach($articles as $article) 

     @if(this is the nth object) 
      <div class="row margin-b-2"> 
     @endif 
      <div class="col-sm-4"> 
       <a style="background-color: {{ $article->category->color }}" href="{{ route('category', ['category_slug' => $article->category->slug]) }}">{{ $article->category->title }}</a> 
      </div> 

     @if(this is the nth object) 
      </div> 
     @endif 
    @endforeach 
@endif 

これは私がやろうとしているものの裸の骨です。

答えて

1

私はモジュラス除算演算子を使用します。例えば、あなたはそれを望んでいた場合は、すべて9件の記事後:

<?php $counter = 1; ?> 

@if(count($articles)) 

    @foreach($articles as $article) 

     @if($counter % 9 == 0) 
      <div class="row margin-b-2"> 
     @endif 
     <div class="col-sm-4"> 
      <a style="background-color: {{ $article->category->color }}" href="{{ route('category', ['category_slug' => $article->category->slug]) }}">{{ $article->category->title }}</a> 
     </div> 

     @if($counter % 9 == 0) 
      </div> 
     @endif 
    <?php $counter++; ?> 
    @endforeach 
@endif 

これはどのように動作します:モジュラス部門は余りを返します。あなたが偶数倍であるとき、残りは常に0に等しくなります。

+0

おかげさまで、これは私が使用しようとしていた方法でしたが、ブレードの変数を初期化するのに苦労していました。 – Baz

関連する問題