code: public function handleSrcTableNames(GetPropertyOptionsEvent $event)
      {
          if (($event->getPropertyName() !== 'tag_srctable')
              || ($event->getEnvironment()->getDataDefinition()->getName() !== 'tl_metamodel_attribute')) {
              return;
          }
  
          $sqlTable     = $this->translator->trans(
              'tl_metamodel_attribute.tag_table_type.sql-table',
              [],
              'contao_tl_metamodel_attribute'
          );
          $translated   = $this->translator->trans(
              'tl_metamodel_attribute.tag_table_type.translated',
              [],
              'contao_tl_metamodel_attribute'
          );
          $untranslated = $this->translator->trans(
              'tl_metamodel_attribute.tag_table_type.untranslated',
              [],
              'contao_tl_metamodel_attribute'
          );
  
          $result = $this->getMetaModelTableNames($translated, $untranslated);
          foreach ($this->connection->getSchemaManager()->listTableNames() as $table) {
              if (0 !== \strpos($table, 'mm_')) {
                  $result[$sqlTable][$table] = $table;
              }
          }
  
          if (\is_array($result[$translated])) {
              \asort($result[$translated]);
          }
  
          if (\is_array($result[$untranslated])) {
              \asort($result[$untranslated]);
          }
  
          if (\is_array($result[$sqlTable])) {
              \asort($result[$sqlTable]);
          }
  
          $event->setOptions($result);
      }
docs: Retrieve all database table names.
  
  @param GetPropertyOptionsEvent $event The event.
  
  @return void
  
  @throws InvalidArgumentException If the locale contains invalid characters.