/** * @param ResourceTransformer $transformer * @param PropertyResolver $propertyResolver * @param $parent * @param PropertyValues $identifiers * @param Context $context * @return mixed */ protected function getChildByIdentifiers(ResourceTransformer $transformer, PropertyResolver $propertyResolver, &$parent, PropertyValues $identifiers, Context $context) { $childEntity = $propertyResolver->resolveProperty($transformer, $parent, $this->getField(), $context); if (!$childEntity || !$propertyResolver->doesResourceRepresentEntity($transformer, $childEntity, $this->child, $context)) { $childEntity = null; } return $childEntity; }
/** * @param RelationshipField $field * @param $entity * @param RESTResource $resource * @param ContextContract $context * @param bool $visible * @return array * @throws InvalidPropertyException */ private function linkRelationship(RelationshipField $field, $entity, RESTResource $resource, Context $context, $visible) { $resource->setLink($field, $this->propertyResolver->resolvePathParameters($this, $entity, $field->getUrl(), $context), $visible); }
/** * @param ResourceTransformer $transformer * @param PropertyResolver $propertyResolver * @param $parent * @param PropertyValues $identifiers * @param Context $context * @return mixed */ protected function getChildByIdentifiers(ResourceTransformer $transformer, PropertyResolver $propertyResolver, &$parent, PropertyValues $identifiers, Context $context) { return $propertyResolver->getChildByIdentifiers($transformer, $this->getField(), $parent, $identifiers, $context); }