Skip to content

Commit f590633

Browse files
committed
Fix context of getResourceFieldConfiguration when a property is a subresource
1 parent db8d1a6 commit f590633

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

src/GraphQl/Type/SchemaBuilder.php

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -448,9 +448,15 @@ private function getResourceObjectTypeFields(string $resourceClass, ResourceMeta
448448
continue;
449449
}
450450

451-
if ($fieldConfiguration = $this->getResourceFieldConfiguration($resourceClass, $resourceMetadata, $propertyMetadata->getDescription(), $propertyMetadata->getAttribute('deprecation_reason', ''), $propertyType, $resourceClass, $input, $mutationName, ++$depth)) {
451+
$rootResource = $resourceClass;
452+
if (null !== $propertyMetadata->getSubresource()) {
453+
$resourceClass = $propertyMetadata->getSubresource()->getResourceClass();
454+
$resourceMetadata = $this->resourceMetadataFactory->create($resourceClass);
455+
}
456+
if ($fieldConfiguration = $this->getResourceFieldConfiguration($resourceClass, $resourceMetadata, $propertyMetadata->getDescription(), $propertyMetadata->getAttribute('deprecation_reason', ''), $propertyType, $rootResource, $input, $mutationName, ++$depth)) {
452457
$fields['id' === $property ? '_id' : $property] = $fieldConfiguration;
453458
}
459+
$resourceClass = $rootResource;
454460
}
455461

456462
if (null !== $mutationName) {

0 commit comments

Comments
 (0)