[英]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.