從 Laravel 模型檢索資料並產生 Spatie/Icalendar
P粉312195700
P粉312195700 2024-01-16 14:41:59
0
1
402

我嘗試從模型中檢索數據,然後將其重寫為 Spatie Icalendar 的適當格式,但由於存在多個事件而不僅僅是單一事件,因此它不起作用。

我嘗試了許多不同的解決方案,但沒有找到有效的解決方案。

請問,您將如何迭代 Spatie 中的眾多事件?

Spatie 文件:https://github.com/spatie/icalendar-generator

我想迭代所有日曆事件,為 Spatie 建立一個陣列。

它應該以 ICAL 格式結束,對於普通日曆來說是可提取的。

P粉312195700
P粉312195700

全部回覆(1)
P粉317679342

程式碼中存在著許多不一致之處,我認為這使得事情變得更加困難。類別將事件命名為屬性、不一致的命名約定、複數模型(我知道,class 是保留關鍵字)等。

只需循環事件並將模型資料一一新增至 spatie 套件中即可。

$calendar = Calendar::create($iCalendar->name);

$events->each(function (Classes $event) {
    $calendar->event(Event::create($event->class_type === 1 ? 'Teoritime' : 'Køretime')
        ->startsAt($event->start_time)
        ->endsAt($event->start_time->addHour())
    )  
});

dd($calendar->get());

我認為它需要一個結束時間,所以我增加了一小時。模型上的 start_time 應加入到 $dates 陣列中,以轉換為 Carbon 物件。我沒有使用 for 循環,而是使用集合方法來建立類似的邏輯,請閱讀它們 這裡。這是查詢產生器傳回的類型。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!