Я использую разбиение на страницы Laravel для отображения набора записей по 6 записей на формат страницы. Первая страница отображаемого значения данных последней записи совпадает со второй страницей данных первой записи. На странице остатков обычно отображаются данные записи.
Этот пример отчета был отображен с разбивкой по страницам. Запись была повторена в строке 6 и строке 7.
No. Asset Id Desc Cost Center Id Requestor
1 CO-01-0001 Lenovo M720 3,500.00 2050001 David
2 CO-02-0002 Lenovo M720 3,500.00 2050001 David
3 CO-03-0003 Lenovo M720 3,500.00 2050001 Jack
4 CO-04-0004 Lenovo M720 3,500.00 2050002 Jack
5 C0-05-0005 Lenovo M720 3,600.00 2050002 Peter
6 C0-06-0006 Lenovo M720 3,600.00 2050003 Peter
No. Asset Id Desc Cost Center Id Requestor
7 C0-06-0006 Lenovo M720 3,600.00 2050003 Peter
8 CO-07-0007 Lenovo M720 3,500.00 2050004 David
9 CO-08-0008 Lenovo M720 3,500.00 2050005 Jack
10 CO-09-0009 Lenovo M720 3,500.00 2050006 Jack
11 C0-10-0010 Lenovo M720 3,600.00 2050007 Peter
12 C0-11-0011 Lenovo M720 3,600.00 2050008 Peter
<страница 2>
Я пытался отобразить отчет без нумерации страниц. Дубликат проблемы не обнаружился. Этот пример отчета был отображен без нумерации страниц. Запись отображалась нормально.
No. Asset Id Desc Cost Center Id Requestor
1 CO-01-0001 Lenovo M720 3,500.00 2050001 David
2 CO-02-0002 Lenovo M720 3,500.00 2050001 David
3 CO-03-0003 Lenovo M720 3,500.00 2050001 Jack
4 CO-04-0004 Lenovo M720 3,500.00 2050002 Jack
5 C0-05-0005 Lenovo M720 3,600.00 2050002 Peter
6 C0-06-0006 Lenovo M720 3,600.00 2050003 Peter
7 CO-07-0007 Lenovo M720 3,500.00 2050004 David
8 CO-08-0008 Lenovo M720 3,500.00 2050005 Jack
19 CO-09-0009 Lenovo M720 3,500.00 2050006 Jack
10 C0-10-0010 Lenovo M720 3,600.00 2050007 Peter
11 C0-11-0011 Lenovo M720 3,600.00 2050008 Peter
Ниже приведен мой пример кода контроллера:
$assets = DB::table('Asset_Tracking.dbo.fixedassets')
->leftjoin('Asset_Tracking.dbo.userassets', function ($join) {
$join->on('fixedassets.assetid', '=', 'userassets.assetid')
->where('userassets.active', 1); })
->leftjoin('company.dbo.staff', 'userassets.staff_id', '=', 'staff.id')
->select('fixedassets.*', 'userassets.desc', 'userassets.cost', 'userassets.centerid'
, 'staff.name')
->whereIn('userassets.centerid', $costcentarr)->paginate(6);
$rank = $assets->firstItem();
return view('asset.show', ['rank' => $rank, 'assets' => $assets]);
Ниже приведен мой пример кода лезвия:
@foreach($assets as $asset)
<table class="table table-sm table-hover table-bordered"><tr>
<th><small>{{ $rank++ }}</small></th>
<th scope="row"><small>{{ $asset->assetid }}</small></th>
<td><small>{{ $asset->DESC }}</small></td>
<td><small>{{ $asset->COST }}</small></td>
<td><small>{{ $asset->centerid }}</small></td
<td><small>{{ $asset->name }}</small></td>
</tr>
@endforeach
</table>
{{ $assets->links() }}
Я ожидаю, что на выходе будет 11 записей, но на выходе будет 12 записей, в которых 1 запись была дублирована в строке 6 и строке 7. Спасибо за ответ.