有什么函数可以停止 foreach 循环吗?
Is there any function to stop foreach loop?
每当我尝试打印 table 第一行打印好类别名称然后下一行打印 table 一个 tr(row) 数据并关闭标签时,我正在设置一个循环并再次开始新行并用一行打印下一个数据...
我想打印与其类别名称有关的所有数据而不中断倍数table
@if( ! empty($packages) )
@php
$serviceId=null;
@endphp
@foreach($packages as $package)
@if(is_null($serviceId))
<!--CATEGORY NAME PRINT-->
<div class="row" id="">
<div class="col-sm-12">
<div class="well wellHeader">
<h2>{{ $package->service->name }}</h2>
</div>
</div>
</div>
<!--CATEGORY NAME PRINT-->
@php
$serviceId=$package->service->id
@endphp
@endif
@if($serviceId != $package->service_id)
<!--CATEGORY NAME PRINT-->
<div class="row" id="">
<div class="col-sm-12">
<div class="well wellHeader">
<h2>{{ $package->service->name }}</h2>
</div>
</div>
</div>
<!--CATEGORY NAME PRINT-->
@php
$serviceId = $package->service_id
@endphp
@endif
<!--SERVICE NAME TABLE-->
<div class="row">
<div class="col-sm-12">
<div class="well">
<div class="table-responsive">
<table class="table table-striped table-sm ">
<thead>
<tr>
<th>@lang('general.package_id')</th>
<th>@lang('general.name')</th>
<th>@lang('general.price_per_item') {{ getOption('display_price_per') }}</th>
<th>@lang('general.minimum_quantity')</th>
<th>@lang('general.maximum_quantity')</th>
<th>@lang('general.description')</th>
</tr>
</thead>
<tbody>
<tr>
<td>{{ $package->id }}</td>
<td>{{ $package->name }}</td>
<td>@php $price = isset($userPackagePrices[$package->id]) ? $userPackagePrices[$package->id] : $package->price_per_item;
@endphp
{{ getOption('currency_symbol') . number_formats(($price * getOption('display_price_per')),2, getOption('currency_separator'), '') }}</td>
<td>{{ $package->minimum_quantity }}</td>
<td>{{ $package->maximum_quantity }}</td>
<td>{{ $package->description }}</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
!--SERVICE NAME TABLE-->
@endforeach
@else
No Record Found
@endif
你可以创建一个额外的数组来映射这个,
方法中
$packagesNew = [];
foreach($packages as $k => $v)
{
$packagesNew[$v->service->name]['name'] = $v->service->name;
$packagesNew[$v->service->name]['id'] = $v->service->id;
$packagesNew[$v->service->name]['service_id'] = $v->service_id;
$packagesNew[$v->service->name]['data'][] = $v;
}
通过packagesNew
查看
那我修改了视图,请查收。
@if( ! empty($packagesNew) )
@php
$serviceId=null;
@endphp
@foreach($packagesNew as $k => $package)
@if(is_null($serviceId))
<!--CATEGORY NAME PRINT-->
<div class="row" id="">
<div class="col-sm-12">
<div class="well wellHeader">
<h2>{{ $k }}</h2>
</div>
</div>
</div>
<!--CATEGORY NAME PRINT-->
@php
$serviceId=$package['id'];
@endphp
@endif
@if($serviceId != $package['service_id'])
<!--CATEGORY NAME PRINT-->
<div class="row" id="">
<div class="col-sm-12">
<div class="well wellHeader">
<h2>{{ $k }}</h2>
</div>
</div>
</div>
<!--CATEGORY NAME PRINT-->
@php
$serviceId = $package['service_id'];
@endphp
@endif
<!--SERVICE NAME TABLE-->
<div class="row">
<div class="col-sm-12">
<div class="well">
<div class="table-responsive">
<table class="table table-striped table-sm ">
<thead>
<tr>
<th>@lang('general.package_id')</th>
<th>@lang('general.name')</th>
<th>@lang('general.price_per_item') {{ getOption('display_price_per') }}</th>
<th>@lang('general.minimum_quantity')</th>
<th>@lang('general.maximum_quantity')</th>
<th>@lang('general.description')</th>
</tr>
</thead>
<tbody>
@foreach($package['data'] as $k1 => $v1)
<tr>
<td>{{ $v1->id }}</td>
<td>{{ $v1->name }}</td>
<td>@php $price = isset($userPackagePrices[$v1->id]) ? $userPackagePrices[$v1->id] : $v1->price_per_item;
@endphp
{{ getOption('currency_symbol') . number_formats(($price * getOption('display_price_per')),2, getOption('currency_separator'), '') }}</td>
<td>{{ $v1->minimum_quantity }}</td>
<td>{{ $v1->maximum_quantity }}</td>
<td>{{ $v1->description }}</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
</div>
!--SERVICE NAME TABLE-->
@endforeach
@else
No Record Found
@endif
每当我尝试打印 table 第一行打印好类别名称然后下一行打印 table 一个 tr(row) 数据并关闭标签时,我正在设置一个循环并再次开始新行并用一行打印下一个数据...
我想打印与其类别名称有关的所有数据而不中断倍数table
@if( ! empty($packages) )
@php
$serviceId=null;
@endphp
@foreach($packages as $package)
@if(is_null($serviceId))
<!--CATEGORY NAME PRINT-->
<div class="row" id="">
<div class="col-sm-12">
<div class="well wellHeader">
<h2>{{ $package->service->name }}</h2>
</div>
</div>
</div>
<!--CATEGORY NAME PRINT-->
@php
$serviceId=$package->service->id
@endphp
@endif
@if($serviceId != $package->service_id)
<!--CATEGORY NAME PRINT-->
<div class="row" id="">
<div class="col-sm-12">
<div class="well wellHeader">
<h2>{{ $package->service->name }}</h2>
</div>
</div>
</div>
<!--CATEGORY NAME PRINT-->
@php
$serviceId = $package->service_id
@endphp
@endif
<!--SERVICE NAME TABLE-->
<div class="row">
<div class="col-sm-12">
<div class="well">
<div class="table-responsive">
<table class="table table-striped table-sm ">
<thead>
<tr>
<th>@lang('general.package_id')</th>
<th>@lang('general.name')</th>
<th>@lang('general.price_per_item') {{ getOption('display_price_per') }}</th>
<th>@lang('general.minimum_quantity')</th>
<th>@lang('general.maximum_quantity')</th>
<th>@lang('general.description')</th>
</tr>
</thead>
<tbody>
<tr>
<td>{{ $package->id }}</td>
<td>{{ $package->name }}</td>
<td>@php $price = isset($userPackagePrices[$package->id]) ? $userPackagePrices[$package->id] : $package->price_per_item;
@endphp
{{ getOption('currency_symbol') . number_formats(($price * getOption('display_price_per')),2, getOption('currency_separator'), '') }}</td>
<td>{{ $package->minimum_quantity }}</td>
<td>{{ $package->maximum_quantity }}</td>
<td>{{ $package->description }}</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
!--SERVICE NAME TABLE-->
@endforeach
@else
No Record Found
@endif
你可以创建一个额外的数组来映射这个,
方法中
$packagesNew = [];
foreach($packages as $k => $v)
{
$packagesNew[$v->service->name]['name'] = $v->service->name;
$packagesNew[$v->service->name]['id'] = $v->service->id;
$packagesNew[$v->service->name]['service_id'] = $v->service_id;
$packagesNew[$v->service->name]['data'][] = $v;
}
通过packagesNew
查看
那我修改了视图,请查收。
@if( ! empty($packagesNew) )
@php
$serviceId=null;
@endphp
@foreach($packagesNew as $k => $package)
@if(is_null($serviceId))
<!--CATEGORY NAME PRINT-->
<div class="row" id="">
<div class="col-sm-12">
<div class="well wellHeader">
<h2>{{ $k }}</h2>
</div>
</div>
</div>
<!--CATEGORY NAME PRINT-->
@php
$serviceId=$package['id'];
@endphp
@endif
@if($serviceId != $package['service_id'])
<!--CATEGORY NAME PRINT-->
<div class="row" id="">
<div class="col-sm-12">
<div class="well wellHeader">
<h2>{{ $k }}</h2>
</div>
</div>
</div>
<!--CATEGORY NAME PRINT-->
@php
$serviceId = $package['service_id'];
@endphp
@endif
<!--SERVICE NAME TABLE-->
<div class="row">
<div class="col-sm-12">
<div class="well">
<div class="table-responsive">
<table class="table table-striped table-sm ">
<thead>
<tr>
<th>@lang('general.package_id')</th>
<th>@lang('general.name')</th>
<th>@lang('general.price_per_item') {{ getOption('display_price_per') }}</th>
<th>@lang('general.minimum_quantity')</th>
<th>@lang('general.maximum_quantity')</th>
<th>@lang('general.description')</th>
</tr>
</thead>
<tbody>
@foreach($package['data'] as $k1 => $v1)
<tr>
<td>{{ $v1->id }}</td>
<td>{{ $v1->name }}</td>
<td>@php $price = isset($userPackagePrices[$v1->id]) ? $userPackagePrices[$v1->id] : $v1->price_per_item;
@endphp
{{ getOption('currency_symbol') . number_formats(($price * getOption('display_price_per')),2, getOption('currency_separator'), '') }}</td>
<td>{{ $v1->minimum_quantity }}</td>
<td>{{ $v1->maximum_quantity }}</td>
<td>{{ $v1->description }}</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
</div>
!--SERVICE NAME TABLE-->
@endforeach
@else
No Record Found
@endif