From 4a6e12bf1fc7837699f780674c33cba5f2b1223c Mon Sep 17 00:00:00 2001 From: Jonas Kohl Date: Thu, 19 Sep 2024 16:32:18 +0200 Subject: Add log messages --- src/application/mystic/forum/Database.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src/application/mystic/forum/Database.php') diff --git a/src/application/mystic/forum/Database.php b/src/application/mystic/forum/Database.php index 8ebc36b..7a417be 100644 --- a/src/application/mystic/forum/Database.php +++ b/src/application/mystic/forum/Database.php @@ -142,6 +142,7 @@ class Database { return "text"; case "object": case "array": + return "jsonb"; case "iterable": case "callable": case "mixed": @@ -241,8 +242,10 @@ class Database { return strval($value); elseif (is_a($value, \DateTimeInterface::class)) return $value->format("c"); + elseif (is_array($value) || is_object($value)) + return json_encode($value, JSON_UNESCAPED_SLASHES); else - throw new \RuntimeException("Don't know how to stringify " . is_object($value) ? get_class($value) : gettype($value)); + throw new \RuntimeException("Don't know how to stringify " . ((is_object($value) && !is_array($value)) ? get_class($value) : gettype($value))); } private static function assignValue(Entity &$entity, array $colProps, ?string $value): void { @@ -285,7 +288,11 @@ class Database { } break; case "object": + $typedValue = json_decode($value); + break; case "array": + $typedValue = json_decode($value, true); + break; case "iterable": case "callable": case "mixed": -- cgit v1.2.3