Récupérer les données du modèle Laravel et générer Spatie/Icalendar
P粉312195700
P粉312195700 2024-01-16 14:41:59
0
1
501

J'ai essayé de récupérer les données du modèle puis de les réécrire dans le format approprié pour le Spatie Icalendar mais cela ne fonctionne pas car il y a plusieurs événements et pas un seul événement.

J'ai essayé de nombreuses solutions différentes mais je n'en ai pas trouvé une qui fonctionnait.

Comment parcourriez-vous les nombreux événements de Spatie ?

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

Je souhaite parcourir tous les événements du calendrier, créant un tableau pour Spatie.

Il doit se terminer au format ICAL, extractible pour les calendriers normaux.

P粉312195700
P粉312195700

répondre à tous(1)
P粉317679342

Il y a beaucoup d'incohérences dans le code, ce qui, je pense, rend les choses plus difficiles. Classes nommant des événements comme propriétés, conventions de dénomination incohérentes, modèles de pluralisation (je sais, la classe est un mot-clé réservé), etc.

Parcourez simplement les événements et ajoutez les données du modèle au package spatie une par une.

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

Je pensais qu'il fallait une heure de fin alors j'ai ajouté une heure. start_time 应添加到 $dates 数组中,以转换为 Carbonobjet sur le modèle. Au lieu d'utiliser une boucle for, j'ai utilisé des méthodes de collection pour créer une logique similaire, lisez-les ici. Il s'agit du type renvoyé par le générateur de requêtes.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal