/** * @param Request $request */ private function filterOutIncludedResources(Request $request) { if ($include = $request->getIncludedRelationships()) { foreach ($include as $resource => $includeData) { if ($this->serializationStrategy->getMappingByAlias($resource) == null) { continue; } foreach ($this->serializationStrategy->getMappings() as $mapping) { $mapping->filteringIncludedResources(true); if (is_array($includeData)) { foreach ($includeData as $subResource) { $this->serializationStrategy->getMappingByAlias($subResource)->addIncludedResource($this->serializationStrategy->getMappingByAlias($resource)->getClassName()); } break; } $mapping->addIncludedResource($this->serializationStrategy->getMappingByAlias($resource)->getClassName()); } } } }
public function testGetIncludedRelationships() { $expected = ['friends' => ['username'], 'comments' => 'comments']; $this->assertEquals($expected, $this->request->getIncludedRelationships()->get()); }