Flarum\Api\Serializer\AbstractSerializer::buildRelationship PHP Method

buildRelationship() protected method

protected buildRelationship ( mixed $model, string | Closur\Closure | Tobscure\JsonApi\SerializerInterface $serializer, string | null $relation = null, boolean $many = false ) : Relationship
$model mixed
$serializer string | Closur\Closure | Tobscure\JsonApi\SerializerInterface
$relation string | null
$many boolean
return Tobscure\JsonApi\Relationship
    protected function buildRelationship($model, $serializer, $relation = null, $many = false)
    {
        if (is_null($relation)) {
            list(, , $caller) = debug_backtrace(false, 3);
            $relation = $caller['function'];
        }
        $data = $this->getRelationshipData($model, $relation);
        if ($data) {
            $serializer = $this->resolveSerializer($serializer, $model, $data);
            $type = $many ? Collection::class : Resource::class;
            $element = new $type($data, $serializer);
            return new Relationship($element);
        }
    }