/** * @param Collection|BaseModel $modelOrCollection * @param Request $request * @return mixed */ protected function getWithNested($modelOrCollection, Request $request) { $nested = $request->headers->get('With-Nested'); if (!$nested) { return $modelOrCollection; } $requestedRelations = explode(', ', $nested); try { $modelOrCollection->load($requestedRelations); } catch (\BadMethodCallException $e) { throw new BadRequestException(sprintf('Invalid `With-Nested` request - one or more of the following relationships do not exist for %s:[%s]', get_class($modelOrCollection), $nested), null, $e); } return $modelOrCollection; }