Ergebnis 1 bis 6 von 6

Thema: Contao Events -> findBy()

  1. #1
    Contao-Nutzer
    Registriert seit
    20.01.2022.
    Beiträge
    205

    Standard Contao Events -> findBy()

    Hallo,

    kann es sein, dass die Funktion getAllEvents() letztendlich in der findBy() Methode für die Events landen und in der SQL Abfrage
    vor allem "lediglich" eine von - bis Datums Abfrage beinhalten und Event-Kategorien erst im Nachhinein aus dem Result gefiltert werden?

    Gerade bei vielen Events mit Wiederholungen und der Option "alle zukünftigen Events" wird die Abfrage extrem langsam.

    Danke


    Thomas

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.126
    Partner-ID
    10107

    Standard

    Wiederholungen werden per PHP prozessiert. Was meinst du mit Kategorien?
    » sponsor me via GitHub or PayPal or Revolut

  3. #3
    Contao-Nutzer
    Registriert seit
    20.01.2022.
    Beiträge
    205

    Standard

    Zum Beispiel eine Event-Liste, die nur aus einem oder x Kalendern gespeichert wird und zusätzlich nur bestimmte Event-Kategorien "abgrast"

    Wird das auch erst per PHP gefiltert?

    Gerade bei einer Event-Liste "alle zukünftigen Events" werden bei Events mit dauerhaften Wiederholungen ja unendlich viele Termine in den "repeatDates" generiert.

    Und wenn es zudem noch viele Events in mehreren Kalendern sind und die ursprüngliche SQL Abfrage erstmal nur auf einen Datum-Zeitraum "ab bis unendlich" abzielt, dauert das sehr lange in der Verarbeitung.

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.126
    Partner-ID
    10107
    » sponsor me via GitHub or PayPal or Revolut

  5. #5
    Contao-Nutzer
    Registriert seit
    20.01.2022.
    Beiträge
    205

    Standard

    Ok, das verstehe ich so halbwegs:

    getAllEvents() geht über jeden gewählten Kalender und verwendet findCurrentByPid() -> welche per

    PHP-Code:
    return static::findBy($arrColumns, array($intPid), $arrOptions); 
    die einzelnen Events "nur" per eben KalenderID und Datumseingrenzung aus der DB holt.

    Alle weiteren Filterungen kommen dann per PHP und per PHP von diversen Erweiterungen.

    Die Option "alle zufünftigen Events" ist dann halt wirklich so viel, dass eine Bearbeitung dann eben so lange dauert.

    Richtig?

  6. #6
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.126
    Partner-ID
    10107

    Standard

    Genau. Wenn man unendliche Wiederholungen hat, sollte man keine Eventliste anzeigen, die Alle Events in der Zukunft anzeigt.
    » sponsor me via GitHub or PayPal or Revolut

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •