MetaModels\Helper\TableManipulation::createTable PHP Метод

createTable() публичный статический Метод

Creates a table with the given name.
public static createTable ( string $strTableName ) : void
$strTableName string The name of the new table to create.
Результат void
    public static function createTable($strTableName)
    {
        self::checkTableDoesNotExist($strTableName);
        self::getDB()->execute(sprintf(self::STATEMENT_CREATE_TABLE, $strTableName));
    }

Usage Example

Пример #1
0
 /**
  * Handle the update of a MetaModel and all attached data.
  *
  * @param PostPersistModelEvent $event The event.
  *
  * @return void
  */
 public function handleUpdate(PostPersistModelEvent $event)
 {
     if ($event->getEnvironment()->getDataDefinition()->getName() !== 'tl_metamodel') {
         return;
     }
     $old = $event->getOriginalModel();
     $new = $event->getModel();
     $oldTable = $old ? $old->getProperty('tableName') : null;
     $newTable = $new->getProperty('tableName');
     // Table name changed?
     if ($oldTable !== $newTable) {
         if ($oldTable && $this->getDatabase()->tableExists($oldTable, null, true)) {
             TableManipulation::renameTable($oldTable, $newTable);
             // TODO: notify attributes that the MetaModel has changed its table name.
         } else {
             TableManipulation::createTable($newTable);
         }
     }
     TableManipulation::setVariantSupport($newTable, $new->getProperty('varsupport'));
 }