forked from a64f7bb4-7358-4778-9fbe-3b882c34cc1d/v1
23 lines
752 B
Twig
23 lines
752 B
Twig
/**
|
|
* Implements hook_entity_predelete().
|
|
*/
|
|
function {{ machine_name }}_entity_predelete(\Drupal\Core\Entity\EntityInterface $entity) {
|
|
$connection = \Drupal::database();
|
|
// Count references to this entity in a custom table before they are removed
|
|
// upon entity deletion.
|
|
$id = $entity->id();
|
|
$type = $entity->getEntityTypeId();
|
|
$count = \Drupal::database()->select('example_entity_data')
|
|
->condition('type', $type)
|
|
->condition('id', $id)
|
|
->countQuery()
|
|
->execute()
|
|
->fetchField();
|
|
|
|
// Log the count in a table that records this statistic for deleted entities.
|
|
$connection->merge('example_deleted_entity_statistics')
|
|
->key(['type' => $type, 'id' => $id])
|
|
->fields(['count' => $count])
|
|
->execute();
|
|
}
|