2016-10-30 17 views
0

私は印刷する必要があるクーポンを扱っています。私はビューを準備し、ビューにクーポンを渡しています:10回目と2回目の変更ごとにforeach

public function printSelected($ids){ 
     $couponIDs = explode(',', $ids); 
     $selectedCoupons = Coupon::find($couponIDs); 

     return view('admin.coupons.print')->with(compact('selectedCoupons')); 
    } 

ここでは、特定の方法でループする必要があります。

  1. 10枚のクーポンページブロック

  2. 2枚のクーポンやテーブルデータを1行に収まるので、私は新しいテーブル行が必要毎秒クーポンに収まるので、私は新しい「ページ」のブロックを必要とするすべての10件のクーポン

enter image description here

答えて

1

あり、これを行うために複数の方法がありますが、私は0のchunk方法を使用することは非常に読みやすい見つけますオブジェクトです。もう一つの選択肢はモジュラス()を使用することです。

<div class="coupons"> 
    {{-- Create chunks of 10 as this is the max per page --}} 
    @foreach($selectedCoupons->chunk(10) as $pageCoupons) 
    <div class="page"> 
     <div class="subpage"> 
      <table> 
       {{-- Create chunks of 2 so every row is filled with up to 2 coupons --}} 
       @foreach($pageCoupons->chunk(2) as $rowCoupons) 
       <tr> 
        {{-- Loop over the row coupons to create the columns --}} 
        @foreach($rowCoupons as $coupon) 
        <td> 
         <span class="coupon">{{ $coupon->code }}</span><br> 
         <hr> 
         <span class="name">{{ $coupon->user->name }}</span> 
        </td> 
        @endforeach 
       </tr> 
       @endforeach 
      </table> 
     </div> 
    </div> 
    @endforeach 
</div> 
0
あなたのクーポンのチャンクをループにコレクションの chunkメソッドを使用することができます

<div class="coupons"> 
    @foreach ($selectedCoupons->chunk(10) as $page) 
    <div class="page"> 
     <div class="subpage"> 
      <table> 
       @foreach ($page->chunk(2) as $row) 
       <tr> 
        @foreach ($row as $coupon) 
        <td> 
         <span class="coupon">{{ $coupon->code }}</span><br> 
         <hr> 
         <span class="name">{{ $coupon->user->name }}</span> 
        </td> 
        @endforeach 
       </tr> 
       @endforeach 
      </table> 
     </div> 
    </div> 
    @endforeach 
</div> 
関連する問題