Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // get all paragraphs
- $paragraph_ids = Drupal::entityQuery('paragraph')->execute();
- $paragraphs = Drupal::entityTypeManager()->getStorage('paragraph')->loadMultiple($paragraph_ids);
- foreach ($paragraphs as $target_id => $paragraph) {
- // get parent entity (node, taxonomy, paragraph, etc.)
- $parent = $paragraph->getParentEntity();
- $field_name = $paragraph->parent_field_name->value;
- // Check if current paragraph exists in parent entity field values
- $exists = FALSE;
- $values = $parent->get($field_name)->getValue();
- foreach($values as $value) {
- if ($value['target_id'] == $target_id) {
- $exists = TRUE;
- }
- }
- // Delete paragraphs that aren't linked to an entity they claim as a parent
- if (!$exists) {
- $paragraph->delete();
- var_dump($target_id);
- }
- }
Add Comment
Please, Sign In to add comment