簡體   English   中英

PHP 的 CarbonPeriod 將區間內的所有數據放入一個數組中

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM