Dingo\Api\Transformer\Adapter\Fractal::transform PHP Method

transform() public method

Transform a response with a transformer.
public transform ( mixed $response, object $transformer, Dingo\Api\Transformer\Binding $binding, Dingo\Api\Http\Request $request ) : array
$response mixed
$transformer object
$binding Dingo\Api\Transformer\Binding
$request Dingo\Api\Http\Request
return array
    public function transform($response, $transformer, Binding $binding, Request $request)
    {
        $this->parseFractalIncludes($request);
        $resource = $this->createResource($response, $transformer, $parameters = $binding->getParameters());
        // If the response is a paginator then we'll create a new paginator
        // adapter for Laravel and set the paginator instance on our
        // collection resource.
        if ($response instanceof IlluminatePaginator) {
            $paginator = $this->createPaginatorAdapter($response);
            $resource->setPaginator($paginator);
        }
        if ($this->shouldEagerLoad($response)) {
            $eagerLoads = $this->mergeEagerLoads($transformer, $this->fractal->getRequestedIncludes());
            $response->load($eagerLoads);
        }
        foreach ($binding->getMeta() as $key => $value) {
            $resource->setMetaValue($key, $value);
        }
        $binding->fireCallback($resource, $this->fractal);
        $identifier = isset($parameters['identifier']) ? $parameters['identifier'] : null;
        return $this->fractal->createData($resource, $identifier)->toArray();
    }