function FieldStorageCreateCheckSubscriber::onFieldStorageDefinitionCreateEvent
Same name and namespace in other branches
- 11.x core/lib/Drupal/Core/Test/EventSubscriber/FieldStorageCreateCheckSubscriber.php \Drupal\Core\Test\EventSubscriber\FieldStorageCreateCheckSubscriber::onFieldStorageDefinitionCreateEvent()
Listener method for any field storage definition create event.
Parameters
\Drupal\Core\Field\FieldStorageDefinitionEvent $event: The field storage definition event object.
string $event_name: The event name.
File
-
core/
lib/ Drupal/ Core/ Test/ EventSubscriber/ FieldStorageCreateCheckSubscriber.php, line 59
Class
- FieldStorageCreateCheckSubscriber
- Response subscriber to field storage events.
Namespace
Drupal\Core\Test\EventSubscriberCode
public function onFieldStorageDefinitionCreateEvent(FieldStorageDefinitionEvent $event, $event_name) : void {
$entity_type_id = $event->getFieldStorageDefinition()
->getTargetEntityTypeId();
if ($entity_type_id) {
$storage = $this->entityTypeManager
->getStorage($entity_type_id);
if ($storage instanceof SqlEntityStorageInterface) {
$base_table = $storage->getTableMapping()
->getBaseTable();
if (!$this->schema
->tableExists($base_table)) {
throw new \LogicException(sprintf('Creating the "%s" field storage definition without the entity schema "%s" being installed is not allowed.', $event->getFieldStorageDefinition()
->id(), $entity_type_id));
}
}
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.