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@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german