/** * @return ResourceSerializer */ public function create() { $include = NULL; $fields = NULL; if (empty($this->params)) { throw new \ErrorException(self::ERROR_PARAMS_MISSING); } if (empty($this->fields) || empty($this->include)) { if (empty($this->include)) { $include = $this->params->include; } if (empty($this->fields)) { $fields = $this->params->sparseFields; } } $document = new Document($this->documentResource, $this->resourceCache, $include, $fields, $this->params->pagination, $this->params->i18n); foreach ($this->meta as $meta) { $document->addResourceMeta($this->documentResource, $meta); } return $document; }
/** * @param Document $document * @param array &$json * @return self */ protected function addMetadata(Document $document, array &$json) { $meta = $document->getResourceMeta(); $json = array_merge($json, $meta); return $this; }
/** * @return ResourceSerializer */ public function create() { $include = NULL; $fields = NULL; if (empty($this->fields) || empty($this->include)) { if (empty($this->include)) { $include = $this->params->include; } if (empty($this->fields)) { $fields = $this->params->sparseFields; } } $translations = $this->params->entities ? $this->params->entities->translations : []; $document = new Document($this->documentResource, $this->resourceCache, $include, $fields, $this->params->pagination, $translations); foreach ($this->meta as $meta) { $document->addResourceMeta($this->documentResource, $meta); } return new DocumentSerializer($document, $this->securityContext, $this->apiUrlPath); }