[TYPO3-german] Extbase NULL in DB speichern

Mikel lists at con-version.com
Fri Apr 10 11:33:14 CEST 2015


Hallo Till,

wie sieht der Aufbau Deiner DB-Tabelle aus (siehe ext_tables.sql)?
Dies hat weniger mit dem Model oder dergleichen wie mit dem Setup der DB 
zu tun.
Das entsprechende Feld muss den Wert NULL erlauben und per Default auch 
auf NULL gesetzt werden.

Like this:
name_der_spalte int(11) NULL default NULL

Mikel
> Hallo allerseits,
>
> wie kann ich es einrichten, dass leere Formularfelder in der Datenbank
> als NULL gespeichert werden?
>
> Hintergrund ist, dass das Formular viele Felder mit Zahlenwerten hat.
> Wenn man diese nicht ausfüllt, soll aber nicht 0 sondern NULL abgelegt
> werden, damit man später unterscheiden kann, ob das entspr. Feld
> ausgefüllt wurde oder nicht.
>
> Ich habe die entspr. Felder in der DB auf default NULL gesetzt, ebenso
> in der Deklaration in der Modellklasse,
>
> also z.B
>
>      /**
>       * mw
>       *
>       * @var float
>       */
>      protected $mw = null;
>
>      /**
>       * mw2
>       *
>       * @var float
>       */
>      protected $mw2 = null;
> usw.
>
> Solange ich kein Feld im Formular ausfülle, bleiben auch tatsächlich
> alle Felder der entspr. Tabelle NULL.
> Sobald ich aber ein einzelnes Feld des Objekts ändere, werden alle
> anderen leeren beim Speichern mit 0 überschrieben.
>
> An den POST-Daten liegt es nicht, die kommen bei leeren Formularfeldern
> auch wirklich als NULL im Setter an:
>      /**
>       * Sets the mw
>       *
>       * @param float $mw
>       * @return void
>       */
>      public function setMw($mw) {
>          if($mw == NULL)
>              $this->mw = 999;
>          else
>              $this->mw = $mw;
>      }
>
> Wenn ich nun das entspr. Feld leer lasse, wird tatsächlich 999 in der DB
> abgelegt.
> Explizit NULL ablegen scheint aber leider nicht zu klappen.
>
> Oder kann man das evtl. in der TCA entsprechend konfigurieren?
>
> Grüße,
> Till
> _______________________________________________
> TYPO3-german mailing list
> TYPO3-german at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german



More information about the TYPO3-german mailing list