Maison  >  Questions et réponses  >  le corps du texte

Récupérer les données du modèle Laravel et générer Spatie/Icalendar

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粉312195700P粉312195700251 Il y a quelques jours401

répondre à tous(1)je répondrai

  • P粉317679342

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

    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.

    répondre
    0
  • Annulerrépondre