/** * Get the fractal item object * * @param Model $model * @return FractalItem */ protected function getFractalItem($model) { $transformer = $this->getTransformer(); $item = new FractalItem($model, $transformer, $this->getResourceKey()); $item->setMeta($transformer->getMeta($model)); return $item; }
/** * Manage and finalize the data transformation. * * @param \League\Fractal\Resource\Item|\League\Fractal\Resource\Collection $data * @param int $code * @param array $meta * @return \Illuminate\Http\JsonResponse */ public function transform($data, $code = 200, $meta = []) { $data->setMeta($meta); $manager = new Manager(); $manager->setSerializer(new DataArraySerializer()); $response = $manager->createData($data)->toArray(); return response()->json($response, 200, [], JSON_UNESCAPED_SLASHES); }
/** * Create FractalItem payload. * * @param \Illuminate\Database\Eloquent\Model $model * @param null $transformer * @param string|null $resourceKey * @return mixed */ public function getItem(EloquentModel $model, $transformer = null, $resourceKey = null) { $resource = new FractalItem($model, $this->getTransformer($transformer), $this->getResourceKey($resourceKey)); if ($meta = $this->getMeta()) { $resource->setMeta($meta); $this->meta = []; } if ($includes = $this->getIncludes()) { $this->fractal->parseIncludes($this->request->input('include')); $this->includes = null; } return $this->fractal->createData($resource)->toArray(); }
/** * Create FractalItem payload. * * @param \Illuminate\Database\Eloquent\Model $model * @param null $transformer * @param string|null $resourceKey * @return mixed */ public function getItem(EloquentModel $model, $transformer = null, $resourceKey = null) { $resource = new FractalItem($model, $this->getTransformer($transformer), $this->getResourceKey($resourceKey)); if ($meta = $this->getMeta()) { $resource->setMeta($meta); $this->meta = []; } return $this->fractal->createData($resource)->toArray(); }