From 177ecdb70bb6b64ed2e2a676eb32533155c602cc Mon Sep 17 00:00:00 2001 From: Yuri Kuznetsov Date: Thu, 6 Apr 2023 20:40:48 +0300 Subject: [PATCH] relation issue msg --- .../Espo/Core/Utils/Database/Orm/Converter.php | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/application/Espo/Core/Utils/Database/Orm/Converter.php b/application/Espo/Core/Utils/Database/Orm/Converter.php index cb8df1d4ec..f36899339a 100644 --- a/application/Espo/Core/Utils/Database/Orm/Converter.php +++ b/application/Espo/Core/Utils/Database/Orm/Converter.php @@ -41,6 +41,7 @@ use Espo\ORM\Defs\RelationDefs; use Espo\ORM\Entity; use Espo\Core\Utils\Metadata; use Espo\Core\Utils\Metadata\Helper as MetadataHelper; +use LogicException; class Converter { @@ -160,11 +161,11 @@ class Converter ); } - foreach ($ormMetadata as $entityOrmMetadata) { + foreach ($ormMetadata as $entityType => $entityOrmMetadata) { /** @var array> $ormMetadata */ $ormMetadata = Util::merge( $ormMetadata, - $this->createEntityTypesFromRelations($entityOrmMetadata) + $this->createEntityTypesFromRelations($entityType, $entityOrmMetadata) ); /** @var array> $ormMetadata */ @@ -846,7 +847,7 @@ class Converter * @param array $defs * @return array */ - private function createEntityTypesFromRelations(array $defs): array + private function createEntityTypesFromRelations(string $entityType, array $defs): array { $result = []; @@ -873,6 +874,11 @@ class Converter ], ]; + if (!$relationDefs->hasMidKey()) { + throw new LogicException( + "Bad manyMany relation {$name} in {$entityType}. Might be not defined on the other side."); + } + $key1 = $relationDefs->getMidKey(); $key2 = $relationDefs->getForeignMidKey();