Example #1
0
 /**
  * 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;
 }
Example #2
0
 /**
  * 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);
 }
Example #3
0
 /**
  * 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();
 }
Example #4
0
 /**
  * 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();
 }