Tobscure\JsonApi\Parameters::getInclude PHP 메소드

getInclude() 공개 메소드

Get the includes.
public getInclude ( array $available = [] ) : array
$available array
리턴 array
    public function getInclude(array $available = [])
    {
        if ($include = $this->getInput('include')) {
            $relationships = explode(',', $include);
            $invalid = array_diff($relationships, $available);
            if (count($invalid)) {
                throw new InvalidParameterException('Invalid includes [' . implode(',', $invalid) . ']', 1, null, 'include');
            }
            return $relationships;
        }
        return [];
    }

Usage Example

예제 #1
0
 /**
  * @param Request $request
  * @param Found $payload
  */
 public function found(Request $request, Found $payload)
 {
     $params = new Parameters($request->query->all());
     $serializer = Language::getSerializer();
     $resource = new Resource($payload->getModel(), $serializer);
     $resource = $resource->with($params->getInclude(['sublanguages', 'parent', 'scope', 'type', 'script', 'family', 'localizations']));
     $resource = $resource->fields($params->getFields(['language' => Language::getSerializer()->getFields(), 'sublanguage' => Language::getSerializer()->getFields(), 'parent' => Language::getSerializer()->getFields(), 'scope' => LanguageScope::getSerializer()->getFields(), 'type' => LanguageType::getSerializer()->getFields(), 'script' => LanguageScript::getSerializer()->getFields(), 'family' => LanguageFamily::getSerializer()->getFields(), 'localization' => Localization::getSerializer()->getFields()]));
     $document = new Document($resource);
     return new JsonResponse($document->toArray(), 200);
 }
All Usage Examples Of Tobscure\JsonApi\Parameters::getInclude