/** * Returns which requested resources are available to include. * * @param Model $model * @return array */ protected function exposedRelationsFromRequest($model = null) { $exposedRelations = static::$exposedRelations; // if no relations are to be included by request if (count($this->request->include) == 0) { // and if we have a model if ($model !== null && $model instanceof Model) { // then use the relations exposed by default $exposedRelations = array_intersect($exposedRelations, $model->defaultExposedRelations()); $model->setExposedRelations($exposedRelations); return $exposedRelations; } } $exposedRelations = array_intersect($exposedRelations, $this->request->include); if ($model !== null && $model instanceof Model) { $model->setExposedRelations($exposedRelations); } return $exposedRelations; }