Ergebnis 1 bis 3 von 3

Thema: Verhalten von Model->setRow()

  1. #1
    Contao-Nutzer
    Registriert seit
    13.07.2013.
    Ort
    Nordsachsen
    Beiträge
    117

    Standard Verhalten von Model->setRow()

    Guten Morgen in die Runde,

    ich verwende folgenden einfachen Code:

    Code:
    $model = new MyModel();
    
    unset($arrModelData['doNotSaveThisField']);
    
    $model->setRow($arrModelData);
    $model->save();
    Wenn nun im Array $arrModelData ein Feld unverändert bleiben soll, weil seine Daten sich nicht geändert haben, so führe ich vorher ein unset() aus.

    Erstaunlicher Weise überschreibt save() das besagte Feld in der DB mit NULL, wenn es unset() ist.

    Kann ich das umgehen? save() soll das Feld nicht antasten, wenn es nicht in $arrModelData enthalten ist.

    Kann jmd. dazu was sagen? Es genügt auch ein Link, wenn das Problem woanders bereits diskutiert wurde...

    Viele Dank!
    Theo

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

    Standard

    setRow ersetzt ja alles. Ich glaube es gibt auch mergeRow.
    » sponsor me via GitHub or PayPal

  3. #3
    Contao-Nutzer
    Registriert seit
    13.07.2013.
    Ort
    Nordsachsen
    Beiträge
    117

    Standard

    ja prima, danke! ich sehe gerade tatsächlich, es gibt auch ein mergeRow() , gleich 10 Zeilen unterhalb von setRow() in Model.php
    ich hatte wohl Tomaten auf den Augen...

    Beste Grüße vom Theo

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
  •