Ergebnis 1 bis 4 von 4

Thema: Collections manipulieren

  1. #1
    Contao-Nutzer Avatar von a-v-l
    Registriert seit
    20.09.2013.
    Ort
    Freiburg im Breisgau
    Beiträge
    88

    Standard Collections manipulieren

    Hallo zusammen,

    mir ist klar das Collections immutable sind. Trotzdem würde ich gerne eine einfache Model-Abfrage verwenden und die zurückgegebene Collection dann weiter filtern und paginieren. Vielleicht könnte ich dazu eine sehr aufwändige Abfrage bauen, aber insbesondere die Frage ob ein Element (ich verwende die Node-Erweiterung) sichtbar ist oder nicht, will ich nicht mit MyModel::findByIrgendwas() zusammenbauen müssen.

    Schön wäre, wenn ich einfach eine Art Array hätte, das ich beliebig filtern und bearbeiten kann. Gibt es eine Möglichkeit eine Collection in ein Array umzuwandeln oder eben doch irgendwie zu manipulieren?

    Danke & Grüße!

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

    Standard

    PHP-Code:
    $array $collection->getModels();
    // do stuff with $array
    $collection = new Collection($array$table); 
    Brauchst du dann aber die Collection überhaupt noch?
    » sponsor me via GitHub or PayPal or Revolut

  3. #3
    Contao-Nutzer Avatar von a-v-l
    Registriert seit
    20.09.2013.
    Ort
    Freiburg im Breisgau
    Beiträge
    88

    Standard

    Vielen Dank Spooky und komisch, dass ich nicht gleich drauf gekommen bin: Einfach mal in die /vendor/contao/core-bundle/src/Resources/contao/library/Contao/Model/Collection.php schauen und staunen :-)

    In meinem Fall verwende ich aber besser:
    PHP-Code:
    $array $collection->fetchAll(); 
    Brauchst du dann aber die Collection überhaupt noch?
    Ne, brauche ich eigentlich nicht mehr. Muss jetzt eben das Template nochmal umschreiben, da ich dort nicht mehr auf die Properties einer Collection sondern auf die Elemente eines Arrays zugreife:
    Aus <?= $post->title ?> wird nun eben <?= $post['title'] ?>

    Vielen Dank jedenfalls nochmal!

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

    Standard

    Müsstest du nicht ändern wenn du ->getModels() machst
    » 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
  •