在我的项目中,我试图禁用 datepicker 中的预订天数。我有预订表,所有记录的预订都存储在这里。在资产详细信息页面之前,我正在检查预订表中的可用天数。
在检查之前,我计算了预订日期之间的日期。
问题是,同一个庄园可以有很多预订,但是当我查询时,我只获取预订的第一条记录,因此其他日子显示可用。像下面它只需要预订 1 日期
例子
Rezervation 1 Dates : 05.05.2019 - 10.05.2019
Rezervation 2 Dates : 05.05.2019 - 10.05.2019
保留是作为一个数组来的,我试图在 foreach 内部创建 foreach 并尝试将数据添加到变量但无法成功。
我的代码如下;
function datebeetween($reservations){
$data = [];
if(!empty($reservations)) {
foreach($reservationsas $rezer){
$days = array();
$start = Carbon\Carbon::parse($rezer['entry_date']);
$end = Carbon\Carbon::parse($rezer['out_date']);
$dateRange = Carbon\CarbonPeriod::create($start, $end);
foreach ($dateRange as $date) {
$days[] = $date->format('d-m-Y');
}
$data[] = $days;
return $data;
}
}else{
return $data;
}
}
如果您正确缩进了代码...
foreach($reservations as $rezer){
$days = array();
$start = Carbon\Carbon::parse($rezer['entry_date']);
$end = Carbon\Carbon::parse($rezer['out_date']);
$dateRange = Carbon\CarbonPeriod::create($start, $end);
foreach ($dateRange as $date) {
$days[] = $date->format('d-m-Y');
}
$data[] = $days;
return $data;
}
您会看到return
是在外层内foreach()
,因此将其移到一层之外,它应该返回所有数据。
$data = array_unique(array_merge($data,$days));
}
return $data;
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句