aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan-Hendrik Willms <tleilax+studip@gmail.com>2024-05-31 08:10:40 +0000
committerJan-Hendrik Willms <tleilax+studip@gmail.com>2024-05-31 08:10:40 +0000
commit555e162607bdb39e450fd79fe5997e71745cb481 (patch)
tree8a6f7bf8d9c38fff662f0132273d46335b90ffca
parent4b2395ccc3ee028f16143506ceaebf1009964165 (diff)
fixes #4233
Closes #4233 Merge request studip/studip!3066
-rw-r--r--lib/classes/SimpleORMap.class.php7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/classes/SimpleORMap.class.php b/lib/classes/SimpleORMap.class.php
index 499149c..7124cc4 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']));
}