function TemporaryQueryGuard::collectFilteredFields
Recursively collects all entity query condition fields.
Entity conditions can be nested within AND and OR groups. This recursively finds all unique fields in an entity query condition.
Parameters
\Drupal\jsonapi\Query\EntityConditionGroup $group: The root entity condition group.
array $fields: Internal use only.
Return value
array An array of entity query condition field names.
1 call to TemporaryQueryGuard::collectFilteredFields()
- TemporaryQueryGuard::applyAccessControls in core/
modules/ jsonapi/ src/ Access/ TemporaryQueryGuard.php - Applies access controls to an entity query.
File
-
core/
modules/ jsonapi/ src/ Access/ TemporaryQueryGuard.php, line 572
Class
- TemporaryQueryGuard
- Adds sufficient access control to collection queries.
Namespace
Drupal\jsonapi\AccessCode
protected static function collectFilteredFields(EntityConditionGroup $group, array $fields = []) {
foreach ($group->members() as $member) {
if ($member instanceof EntityConditionGroup) {
$fields = static::collectFilteredFields($member, $fields);
}
else {
$fields[] = $member->field();
}
}
return array_unique($fields);
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.