Eliminar varios nodos por un campo relacionado Drupal

 






function nombres_node_delete(Drupal\Core\Entity\EntityInterface $entity) {

  switch ($entity->getType()) {
    case 'article':
      $nodeStorage = \Drupal::entityTypeManager()->getStorage('node');


      $ids = $nodeStorage->getQuery()
        ->condition('type', 'proyectos')
        ->condition('field_article_id', $entity->id())
        ->accessCheck(FALSE)
        ->execute();



      $entities = $nodeStorage->loadMultiple($ids);
      $nodeStorage->delete($entities);

      \Drupal::messenger()->addMessage('Todas las entidades relacionadas han sido eliminadas');

      break;
  }

}

Comentarios