Flugg\Responder\Http\SuccessResponseBuilder::transform PHP Method

transform() public method

Set the transformation data. This will set a new resource instance on the response builder depending on what type of data is provided.
public transform ( mixed | null $data = null, callable | string | null $transformer = null, string $resourceKey = null ) : SuccessResponseBuilder
$data mixed | null
$transformer callable | string | null
$resourceKey string
return SuccessResponseBuilder
    public function transform($data = null, $transformer = null, string $resourceKey = null) : SuccessResponseBuilder
    {
        $resource = $this->resourceFactory->make($data);
        if (!is_null($resource->getData())) {
            $model = $this->resolveModel($resource->getData());
            $transformer = $this->resolveTransformer($model, $transformer);
            $resourceKey = $this->resolveResourceKey($model, $resourceKey);
        }
        if ($transformer instanceof Transformer) {
            $this->include($relations = $this->resolveNestedRelations($resource->getData()));
            if ($transformer->allRelationsAllowed()) {
                $transformer->setRelations($relations);
            }
        }
        $this->resource = $resource->setTransformer($transformer)->setResourceKey($resourceKey);
        return $this;
    }

Usage Example

Example #1
0
 /**
  * Transform the data and return a success response builder.
  *
  * @param  mixed|null           $data
  * @param  callable|string|null $transformer
  * @return \Flugg\Responder\Http\SuccessResponseBuilder
  */
 public function transform($data = null, $transformer = null) : SuccessResponseBuilder
 {
     return $this->successResponse->transform($data, $transformer);
 }