![](/img/trans.png)
[英]PHP insert <div> and line shift after every 10th DB element in foreach loop
[英]foreach with every 10th and 2nd changes
因此,我正在處理需要打印的優惠券。 我已准備好視圖,並且正在將優惠券傳遞給該視圖:
public function printSelected($ids){
$couponIDs = explode(',', $ids);
$selectedCoupons = Coupon::find($couponIDs);
return view('admin.coupons.print')->with(compact('selectedCoupons'));
}
現在,我需要以某種方式遍歷它們。
每10張優惠券我需要一個新的“頁面”塊,因為10張優惠券適合一個頁面塊
每隔兩張優惠券,我需要一個新的表格行,因為2張優惠券或表格數據適合一行
有多種方法可以做到這一點,但是我發現使用Collection
對象的chunk
方法非常可讀。 另一種選擇是使用模數( $index % 10 === 0
)。
<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>
您可以使用集合的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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.