protected function EntityTraversal::getAllReverseRelationships in General Data Protection Regulation 8
Same name and namespace in other branches
- 8.2 modules/gdpr_fields/src/EntityTraversal.php \Drupal\gdpr_fields\EntityTraversal::getAllReverseRelationships()
- 3.0.x modules/gdpr_fields/src/EntityTraversal.php \Drupal\gdpr_fields\EntityTraversal::getAllReverseRelationships()
Gets all reverse relationships configured in the system.
Return value
array Information about reversible relationships.
1 call to EntityTraversal::getAllReverseRelationships()
- EntityTraversal::doTraversalRecursive in modules/gdpr_fields/ src/ EntityTraversal.php 
- Traverses the entity relationship tree.
File
- modules/gdpr_fields/ src/ EntityTraversal.php, line 252 
Class
- EntityTraversal
- Base class for traversing entities.
Namespace
Drupal\gdpr_fieldsCode
protected function getAllReverseRelationships() {
  if ($this->reverseRelationshipFields !== NULL) {
    // Make sure reverse relationships are cached.
    // as this is called many times in the recursion loop.
    return $this->reverseRelationshipFields;
  }
  $this->reverseRelationshipFields = [];
  /* @var \Drupal\gdpr_fields\Entity\GdprFieldConfigEntity $config  */
  foreach ($this->configStorage
    ->loadMultiple() as $config) {
    foreach ($config
      ->getAllFields() as $field) {
      if ($field->enabled && $field
        ->isOwner()) {
        foreach ($this->entityFieldManager
          ->getFieldDefinitions($config
          ->id(), $field->bundle) as $field_definition) {
          if ($field_definition
            ->getName() == $field->name && $field_definition
            ->getType() == 'entity_reference') {
            $this->reverseRelationshipFields[] = [
              'entity_type' => $config
                ->id(),
              'bundle' => $field->bundle,
              'field' => $field->name,
              'config' => $field,
              'target_type' => $field_definition
                ->getSetting('target_type'),
            ];
          }
        }
      }
    }
  }
  return $this->reverseRelationshipFields;
}