簡體   English   中英

每次第10和第2次更改時進行foreach

[英]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'));
    }

現在,我需要以某種方式遍歷它們。

  1. 每10張優惠券我需要一個新的“頁面”塊,因為10張優惠券適合一個頁面塊

  2. 每隔兩張優惠券,我需要一個新的表格行,因為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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM