diff --git a/lib/classes/SimpleORMap.class.php b/lib/classes/SimpleORMap.class.php index 499149c29b465c6c10c3619d8bfd43b98781c15c..7124cc401926f7bcbd8c12a0a5082e4ea6a8cfb3 100644 --- a/lib/classes/SimpleORMap.class.php +++ b/lib/classes/SimpleORMap.class.php @@ -1555,6 +1555,13 @@ class SimpleORMap implements ArrayAccess, Countable, IteratorAggregate } $this->setValue($options['foreign_key'], $assoc_foreign_key_value); } + } elseif ( + $value === null + && $this->db_fields()[$options['foreign_key']]['null'] === 'YES' + ) { + $this->resetRelation($field); + $this->setValue($options['foreign_key'], null); + } else { throw new InvalidArgumentException(sprintf('relation %s expects object of type: %s', $field, $options['class_name'])); }