Rumah  >  Soal Jawab  >  teks badan

Dapatkan data daripada model Laravel dan jana Spatie/Icalendar

Saya cuba mendapatkan semula data daripada model dan kemudian menulisnya semula ke dalam format yang sesuai untuk Spatie Icalendar tetapi ia tidak berfungsi kerana terdapat berbilang acara dan bukan hanya satu acara.

Saya mencuba pelbagai penyelesaian yang berbeza tetapi tidak menjumpai penyelesaian yang berkesan.

Bagaimana anda akan mengulangi banyak acara di Spatie?

Dokumentasi Spatie: https://github.com/spatie/icalendar-generator

Saya ingin mengulangi semua acara kalendar, membuat tatasusunan untuk Spatie.

Ia sepatutnya berakhir dalam format ICAL, boleh diekstrak untuk kalendar biasa.

P粉312195700P粉312195700300 hari yang lalu455

membalas semua(1)saya akan balas

  • P粉317679342

    P粉3176793422024-01-17 11:45:21

    Terdapat banyak ketidakkonsistenan dalam kod, yang saya fikir menjadikan perkara lebih sukar. Kelas menamakan peristiwa sebagai sifat, konvensyen penamaan yang tidak konsisten, model pemajmukan (saya tahu, kelas ialah kata kunci simpanan), dsb.

    Hanya putar peristiwa dan tambahkan data model pada pakej spatie satu demi satu.

    $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());

    Saya fikir ia memerlukan masa tamat jadi saya menambah satu jam. start_time 应添加到 $dates 数组中,以转换为 Carbon objek pada model. Daripada menggunakan gelung for, saya menggunakan kaedah pengumpulan untuk mencipta logik yang serupa, bacanya di sini. Ini ialah jenis yang dikembalikan oleh pembina pertanyaan.

    balas
    0
  • Batalbalas