/** * Execute the resources transformer and return the data and included data. * * @internal * * @return array */ protected function executeResourceTransformers() { $transformer = $this->resource->getTransformer(); $data = $this->resource->getData(); $transformedData = $includedData = []; if ($this->resource instanceof Item) { list($transformedData, $includedData[]) = $this->fireTransformer($transformer, $data); } elseif ($this->resource instanceof Collection) { foreach ($data as $value) { list($transformedData[], $includedData[]) = $this->fireTransformer($transformer, $value); } } else { throw new InvalidArgumentException('Argument $resource should be an instance of League\\Fractal\\Resource\\Item' . ' or League\\Fractal\\Resource\\Collection'); } return [$transformedData, $includedData]; }