我有一组结果(例如[1,2,3,4,5,6,7,8,9,10,11])。
我想显示为1行3列
1|5|9
2|6|10
3|7|11
4|8|
我得到的是1行4列
1|4|7
2|5|8
3|6|9
10|
11|
在添加第12个对象之前,我得到1行3列
1|5|9
2|6|10
3|7|11
4|8|12
我在刀片模板中的代码
<!-- partials/tables/table_list.blade.php -->
@section('tables')
<?php $chunkSize = floor(count($tables) / 3); ?>
<section id="tables-overview">
<div class="row">
@foreach ($tables->chunk($chunkSize , 1) as $chunk)
<div class="col-md-4">
@include('partials.tables.table_chunk')
</div>
@endforeach
</div>
</section>
@endsection
<!-- partials/tables/table_chunk.blade.php -->
<table class="table table-responsive">
<thead>
<tr>
<th class="text-center">@lang('table.identifier')</th>
<th class="text-center">@lang('table.property')</th>
<th class="text-center">
@permission('manage-tables')
<a href="{{ route('CreateTable') }}">@lang('action.create')</a>
@endpermission
</th>
</tr>
</thead>
<tbody>
@foreach ($chunk as $table)
<tr>
<td class="text-center">{{ $table->getId() }}</td>
<td class="text-center">{{ $table->getProperty() }}</td>
<td class="text-center">
@permission('manage-tables')
<a class="btn btn-primary" href="{{ route('UpdateTable', ['id' => $table->getId()]) }}">@lang('action.update')</a>
@endpermission
</td>
</tr>
@endforeach
</tbody>
</table>
当$ tables的数量可以除以3(我想要的列数)时,我得到3个大块。如果没有,我得到3个块+其余的1或2个对象,它们都放在第4列中。我可以像在这里那样将它们水平放置,但是我觉得这很奇怪。阅读列表时,您将从上至下先阅读,然后从左至右阅读。
更新我也尝试过使用Huzaib Shafi建议的ceil()。但后来我明白了
4 objects (funny looking)
1|3|
2|4|
5 objects (better looking)
1|3|5
2|4
这也不是我想要的100%,但非常接近它。接下来,我将尝试Homam Alhaytham的建议。
当您floor
得到除法结果时,您会得到较低的数字。
说明: floor(11/3)=3。因此,您的结果一次被分成3个块(导致; [3,3,3,2]),但是我们需要[4,4,3]。
因此,您需ceil
要这样做。给你4,结果。
<?php $chunkSize = ceil(count($tables) / 3); ?>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句