Flugg\Responder\Http\SuccessResponseBuilder::resolveNestedRelations PHP Method

resolveNestedRelations() protected method

Resolve eager loaded relations from the model including any nested relations.
protected resolveNestedRelations ( Collection | Model $data ) : array
$data Illuminate\Support\Collection | Illuminate\Database\Eloquent\Model
return array
    protected function resolveNestedRelations($data) : array
    {
        if (is_null($data)) {
            return [];
        }
        $data = $data instanceof Model ? [$data] : $data;
        return collect($data)->flatMap(function ($model) {
            $relations = collect($model->getRelations());
            return $relations->keys()->merge($relations->flatMap(function ($relation, $key) {
                return collect($this->resolveNestedRelations($relation))->map(function ($nestedRelation) use($key) {
                    return $key . '.' . $nestedRelation;
                });
            }));
        })->unique()->toArray();
    }