From 8ba0b82892af6cc94188ef7c4fbd85d6e5e71536 Mon Sep 17 00:00:00 2001 From: Bahaa Alhagar Date: Tue, 1 Mar 2022 19:14:08 +0200 Subject: [PATCH 1/2] fixed hydrator issue if relation is not included --- src/JsonApi/Hydrator/AbstractClassDocumentHydrator.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/JsonApi/Hydrator/AbstractClassDocumentHydrator.php b/src/JsonApi/Hydrator/AbstractClassDocumentHydrator.php index f6a4071..c951857 100644 --- a/src/JsonApi/Hydrator/AbstractClassDocumentHydrator.php +++ b/src/JsonApi/Hydrator/AbstractClassDocumentHydrator.php @@ -4,9 +4,9 @@ namespace WoohooLabs\Yang\JsonApi\Hydrator; -use WoohooLabs\Yang\JsonApi\Exception\DocumentException; use WoohooLabs\Yang\JsonApi\Schema\Document; use WoohooLabs\Yang\JsonApi\Schema\Relationship; +use WoohooLabs\Yang\JsonApi\Exception\DocumentException; use WoohooLabs\Yang\JsonApi\Schema\Resource\ResourceObject; abstract class AbstractClassDocumentHydrator implements DocumentHydratorInterface @@ -118,7 +118,11 @@ protected function hydrateResource(ResourceObject $resource, Document $document, } if ($object === null) { - continue; + if (isset($link["type"], $link["id"])) { + $relatedResource = ResourceObject::fromArray($link, new ResourceObjects([], [], $relationship->isToOneRelationship())); + + $object = $this->hydrateResource($relatedResource, $document, $resourceMap); + } } $result = $this->hydrateResourceRelationship($result, $relationship, $name, $object); From bab7ed226d3274c3fdd6846c8f94d0ae7f63ab14 Mon Sep 17 00:00:00 2001 From: Bahaa Alhagar Date: Tue, 1 Mar 2022 19:16:07 +0200 Subject: [PATCH 2/2] fixed import issue --- src/JsonApi/Hydrator/AbstractClassDocumentHydrator.php | 1 + 1 file changed, 1 insertion(+) diff --git a/src/JsonApi/Hydrator/AbstractClassDocumentHydrator.php b/src/JsonApi/Hydrator/AbstractClassDocumentHydrator.php index c951857..7b4da04 100644 --- a/src/JsonApi/Hydrator/AbstractClassDocumentHydrator.php +++ b/src/JsonApi/Hydrator/AbstractClassDocumentHydrator.php @@ -8,6 +8,7 @@ use WoohooLabs\Yang\JsonApi\Schema\Relationship; use WoohooLabs\Yang\JsonApi\Exception\DocumentException; use WoohooLabs\Yang\JsonApi\Schema\Resource\ResourceObject; +use WoohooLabs\Yang\JsonApi\Schema\Resource\ResourceObjects; abstract class AbstractClassDocumentHydrator implements DocumentHydratorInterface {