Jump to main content Jump to doc navigation

xPDOManager::removeObjectContainer()

Удаляет таблицу, если она существует.

Это будет работать только в том случае, если для таблицы существует соответствующий класс xPDO и его пакет загружен. MODX не удалит таблицу, если слой ORM не определил таблицу.

Синтаксис

API Docs: removeObjectContainer

int removeObjectContainer (string $className)

Примеры

Удаление таблицы, связанную с объектом "Person":

$manager = $xpdo->getManager();
$manager->removeObjectContainer('Person');

Альтернативы

Если вы пытаетесь удалить таблицы после удаления или переименования базовых классов xPDO, вам может потребоваться выполнить ручной запрос DROP TABLE.

$removed = $modx->exec('DROP TABLE IF EXISTS your_table');
if ($removed === false && $modx->errorCode() !== '' && $modx->errorCode() !== PDO::ERR_NONE) {
    print 'Не удалось удалить таблицу! ОШИБКА: ' . print_r($modx->pdo->errorInfo(),true);
}
else {
    print 'Таблица успешно удалена.';
}

Support the team building MODX with a monthly donation.

The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.

Backers

  • modmore
  • STERC
  • Digital Penguin
  • Jens Wittmann – Gestaltung & Entwicklung
  • Fabian Christen
  • Dannevang Digital
  • Sepia River Studios
  • CrewMark
  • Chris Fickling
  • deJaya
  • eydolan
  • Lefthandmedia
  • Murray Wood
  • Following Sea
  • Anton Tarasov
  • Stéphane Jäggi
  • Raffy
  • Snow Creative
  • A. Moreno
  • Nick Clark
  • JT Skaggs
  • Helen
  • YJ
  • krisznet
  • Richard
  • Yanni

Budget

$306 per month—let's make that $500!

Learn more