diff --git a/Resolver/Config/FieldsConfigSolution.php b/Resolver/Config/FieldsConfigSolution.php index 41b014439..66a6dcfce 100644 --- a/Resolver/Config/FieldsConfigSolution.php +++ b/Resolver/Config/FieldsConfigSolution.php @@ -195,14 +195,12 @@ private function filterResultUsingAccess($result, $expression, $values) $checkAccess = $this->checkAccessCallback($expression, $values); switch (true) { - case is_array($result) || $result instanceof \ArrayAccess: - $result = array_filter( - array_map( - function ($object) use ($checkAccess) { - return $checkAccess($object) ? $object : null; - }, - $result - ) + case is_array($result): + $result = array_map( + function ($object) use ($checkAccess) { + return $checkAccess($object) ? $object : null; + }, + $result ); break; diff --git a/Tests/Functional/Security/AccessTest.php b/Tests/Functional/Security/AccessTest.php index 429adf811..7d6516f7b 100644 --- a/Tests/Functional/Security/AccessTest.php +++ b/Tests/Functional/Security/AccessTest.php @@ -136,7 +136,7 @@ private function expectedFailedUserRoles() return [ 'data' => [ 'user' => [ - 'roles' => [], + 'roles' => [0 => null], ], ], ]; diff --git a/Tests/Resolver/Config/FieldsConfigSolutionTest.php b/Tests/Resolver/Config/FieldsConfigSolutionTest.php index 2d5f8af4d..2f3fa6fc2 100644 --- a/Tests/Resolver/Config/FieldsConfigSolutionTest.php +++ b/Tests/Resolver/Config/FieldsConfigSolutionTest.php @@ -61,6 +61,8 @@ public function testResolveAccessAndWrapResolveCallbackWithArrayAndAccessDeniedT 'tata', 'titi', 'tata', + null, + null, ], $callback( [