diff --git a/src/Database/Adapter/MariaDB.php b/src/Database/Adapter/MariaDB.php index 708926548..2cd8551f5 100644 --- a/src/Database/Adapter/MariaDB.php +++ b/src/Database/Adapter/MariaDB.php @@ -1644,7 +1644,7 @@ public function find(string $collection, array $queries = [], ?int $limit = 25, unset($results[$index]['_id']); } if (\array_key_exists('_tenant', $document)) { - $results[$index]['$tenant'] = $document['_tenant'] === null ? null : (int)$document['_tenant']; + $results[$index]['$tenant'] = $document['_tenant']; unset($results[$index]['_tenant']); } if (\array_key_exists('_createdAt', $document)) { diff --git a/src/Database/Adapter/Postgres.php b/src/Database/Adapter/Postgres.php index aad33c42e..2fc4827b5 100644 --- a/src/Database/Adapter/Postgres.php +++ b/src/Database/Adapter/Postgres.php @@ -1529,7 +1529,7 @@ public function find(string $collection, array $queries = [], ?int $limit = 25, unset($results[$index]['_id']); } if (\array_key_exists('_tenant', $document)) { - $results[$index]['$tenant'] = $document['_tenant'] === null ? null : (int)$document['_tenant']; + $results[$index]['$tenant'] = $document['_tenant']; unset($results[$index]['_tenant']); } if (\array_key_exists('_createdAt', $document)) { diff --git a/src/Database/Adapter/SQL.php b/src/Database/Adapter/SQL.php index 7b45fc102..5289a800c 100644 --- a/src/Database/Adapter/SQL.php +++ b/src/Database/Adapter/SQL.php @@ -377,7 +377,7 @@ public function getDocument(string $collection, string $id, array $queries = [], unset($document['_uid']); } if (\array_key_exists('_tenant', $document)) { - $document['$tenant'] = $document['_tenant'] === null ? null : (int)$document['_tenant']; + $document['$tenant'] = $document['_tenant']; unset($document['_tenant']); } if (\array_key_exists('_createdAt', $document)) { diff --git a/src/Database/Database.php b/src/Database/Database.php index 3cba68080..c4db05536 100644 --- a/src/Database/Database.php +++ b/src/Database/Database.php @@ -3672,6 +3672,7 @@ public function createDocument(string $collection, Document $document): Document $document = $this->silent(fn () => $this->populateDocumentRelationships($collection, $document)); } + $document = $this->casting($collection, $document); $document = $this->decode($collection, $document); $this->trigger(self::EVENT_DOCUMENT_CREATE, $document); @@ -3764,6 +3765,7 @@ public function createDocuments( $document = $this->silent(fn () => $this->populateDocumentRelationships($collection, $document)); } + $document = $this->casting($collection, $document); $document = $this->decode($collection, $document); $onNext && $onNext($document); $modified++; @@ -6478,6 +6480,8 @@ public function casting(Document $collection, Document $document): Document $attributes = $collection->getAttribute('attributes', []); + $attributes = \array_merge($attributes, $this->getInternalAttributes()); + foreach ($attributes as $attribute) { $key = $attribute['$id'] ?? ''; $type = $attribute['type'] ?? '';