[英]How to Make array from_date to to_date using CarbonPeriod and Match another date is exist in array or not in php , Laravel
[英]PHP's CarbonPeriod put all data from the interval into one array
所以我有这段代码从数据库中获取数据:
// get custom holidays
$companyHolidays = Holiday::query()->get();
现在得到这个 output 我做了dd($companyHolidays->toArray());
这些开始和结束日期需要使用 Carbon 放入 DateInterval 中。
所以我这样做了:
$parsedCompanyHolidays = CarbonPeriod::create($companyHolidays[0]->start, $companyHolidays[0]->end);
这个输出,使用dd($parsedCompanyHolidays->toArray())
;
现在的问题是它只显示第一个Osterferien
而不是数据库中的其他? 有什么方法可以将它们全部放入一个数组中?
因为后面我需要continue
生成这些日期内的日期
while ($i < $eventRepeats) {
// add one week
$eventStart->addDays(7);
if (in_array($eventStart->translatedFormat('Y-m-d'), $holidaysArray)) {
continue;
}
// todo: not grabbing the holidays correctly
// if (in_array($eventStart->translatedFormat('Y-m-d'), $parsedCompanyHolidays)) {
// continue;
// }
echo '<div class="text-primary font-normal mt-6 mb-2">'.$count++.'. Termin</div>';
echo '<div class="bg-gray rounded-lg border-l-4">';
echo '<div class="p-3">';
echo $eventStart->translatedFormat('l, d. F Y, H:i');
echo ' - ';
echo $eventEnd->translatedFormat('H:i');
echo '</div></div>';
// increase iteration
$i++;
}
:
$companyHolidays = Holiday::all();
$newholiday = [];
foreach($companyHolidays as $holiday){
$newholiday[] = [
'id' => $holiday->id,
'title' => $holiday->title,
'start' => $holiday->start,
'end' => $holiday->end,
'parsed_company_holidays'=> CarbonPeriod::create($holiday->start, $holiday->end);
];
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.