Я использую snappy pdf для вывода списка товаров, купленных пользователем, в таблице в формате pdf. Я хочу, чтобы каждая таблица ограничивала отображение только 5 элементов, а следующие 5 элементов будут на следующей странице с новой таблицей и т. Д.
Я думал об использовании chunk () для достижения этого, но мои отношения модель вызывает некоторые проблемы. У меня есть покупка, по которой может быть много заказов. В каждом заказе может быть много позиций. Итак, если я купил:
Продавец A: Товар 1 Товар 2
Продавец B: Товар 3
Продавец C: Товар 4 Товар 5 Товар 6
Это означает, что у меня будет 3 заказа по 6 предметов. Хотя я хочу отобразить элементы 1-5 в моей первой таблице, функция chunk () выполняет цикл для каждого заказа как отдельного, поэтому товары продавца A будут в первой таблице, а товары продавца B будут во второй таблице и так далее ( с ограничением 5).
Мой код лезвия:
<div class="row ">
<div class="col-xs-12 pl-1 pr-1">
<div style="border: 1px solid #000; width: 100%; height: 625px;">
@foreach($purchase->orders as $order)
@foreach($order->items->chunk(5) as $page)
<table style="width: 100%;">
<tr style="text-align: center; font-weight: 600;">
<td style="position: relative; font-size: 10pt; padding: 4px; border-bottom: 1px solid #000000; border-right: 1px solid #000000; width: 5%;">
<div style="position: absolute; top: 0; right: 0; margin-right: -1px; border-right: 1px solid #000000; height: 624px;"></div>
No.
</td>
<td style="position:relative; font-size: 10pt; padding: 4px; border-bottom: 1px solid #000000; border-right: 1px solid #000000; width: 12%;">
<div style="position: absolute; top: 0; right: 0; margin-right: -1px; border-right: 1px solid #000000; height: 624px;"></div>
Product Code
</td>
<td style="position: relative; font-size: 10pt; padding: 4px; border-bottom: 1px solid #000000; border-right: 1px solid #000000; width: 53%;">
<div style="position: absolute; top: 0; right: 0; margin-right: -1px; border-right: 1px solid #000000; height: 624px;"></div>
Description
</td>
<td style="position: relative; font-size: 10pt; padding: 4px; border-bottom: 1px solid #000000; border-right: 1px solid #000000; width: 6%">
<div style="position: absolute; top: 0; right: 0; margin-right: -1px; border-right: 1px solid #000000; height: 624px;"></div>
Quantity
</td>
<td style="position: relative; font-size: 10pt; padding: 4px; border-bottom: 1px solid #000000; border-right: 1px solid #000000; width: 12%;">
<div style="position: absolute; top: 0; right: 0; margin-right: -1px; border-right: 1px solid #000000; height: 624px;"></div>
Unit Price (RM)
</td>
<td style="font-size: 10pt; padding: 4px; border-bottom: 1px solid #000000; width: 12%;">Amount (RM)</td>
</tr>
<?php
$iterationNo = 0;
?>
{{---Iterate each page--}}
@foreach ($page as $item)
<tr style="font-size: 10pt;">
<td style="padding: 16px; text-align: center; vertical-align: top;">
<?php
$iterationNo = $iterationNo + 1;
?>
{{ $iterationNo }}
</td>
<td style="padding: 16px; vertical-align: top;">
{{ $item->product->parentProduct->product_code }}
</td>
<td style="padding: 6px; vertical-align: top;">
<table>
<tr style="font-size: 10pt;">
<td style="padding: 4px; vertical-align: top;">
<img src="{{ asset('storage/' . $item->product->parentProduct->images[0]->path . '/' . $item->product->parentProduct->images[0]->filename) }}" alt="{{ $item->product->parentProduct->name }}" style="width: 105px; height: 90px; border-radius: 10px;">
</td>
<td style="padding: 14px; vertical-align: top;">
<p style="margin-bottom: 10px;">
{{ $item->quantity }} x {{ $item->product->parentProduct->name }}
</p>
<p style="margin: 0;">
@if(array_key_exists('product_color_name', $item->product_information))
Color: {{ $item->product_information['product_color_name'] }}
@endif
@if(array_key_exists('product_size', $item->product_information))
Color Temperature: {{ $item->product_information['product_size'] }}
@endif
@if(array_key_exists('product_temperature', $item->product_information))
Color Temperature: {{ $item->product_information['product_temperature'] }}
@endif
</p>
</td>
</tr>
</table>
</td>
<td style="padding: 16px; text-align: center; vertical-align: top;">
{{ $item->quantity }}
</td>
<td style="padding: 16px; text-align: center; vertical-align: top;">
{{ $item->product->getDecimalPrice() }}
</td>
<td style="padding: 16px; text-align: center; vertical-align: top;">
{{ number_format(($item->subtotal_price / 100), 2) }}
</td>
</tr>
@endforeach
</table>
@endforeach
@endforeach
</div>
</div>
Как разделить элементы как единое целое вместо заказов?