assign_attributes: nur leeren String und undef bei Zahlenspaletn auf NULL mappen...
authorMoritz Bunkus <m.bunkus@linet-services.de>
Thu, 30 Dec 2010 15:44:56 +0000 (16:44 +0100)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Thu, 30 Dec 2010 15:44:56 +0000 (16:44 +0100)
SL/DB/Object.pm

index 52b9300..5e58ed9 100644 (file)
@@ -61,9 +61,10 @@ sub _assign_attributes {
 
   while (my ($attribute, $value) = each %attributes) {
     my $type = lc($types{$attribute} || 'text');
-    $value   = $type eq 'boolean'        ? ($value ? 't' : 'f')
-             : $text_column_types{$type} ? $value
-             :                             ($value || undef);
+    $value   = $type eq 'boolean'                ? ($value ? 't' : 'f')
+             : $text_column_types{$type}         ? $value
+             : defined($value) && ($value eq '') ? undef
+             :                                     $value;
     $self->$attribute($value);
   }