Contao\Database::listTables PHP Метод

listTables() публичный Метод

Return all tables as array
public listTables ( string $strDatabase = null, boolean $blnNoCache = false ) : array
$strDatabase string The database name
$blnNoCache boolean If true, the cache will be bypassed
Результат array An array of table names
    public function listTables($strDatabase = null, $blnNoCache = false)
    {
        if ($blnNoCache || !isset($this->arrCache[$strDatabase])) {
            $strOldDatabase = $this->resConnection->getDatabase();
            // Change the database
            if ($strDatabase !== null && $strDatabase != $strOldDatabase) {
                $this->setDatabase($strDatabase);
            }
            $this->arrCache[$strDatabase] = $this->resConnection->getSchemaManager()->listTableNames();
            // Restore the database
            if ($strDatabase !== null && $strDatabase != $strOldDatabase) {
                $this->setDatabase($strOldDatabase);
            }
        }
        return $this->arrCache[$strDatabase];
    }

Usage Example

Пример #1
0
 /**
  * Check if all MetaModels tables are installed.
  *
  * @param \Contao\Database $database The database.
  *
  * @return bool
  *
  * @SuppressWarnings(PHPMD.CyclomaticComplexity)
  */
 protected function metaModelsTablesPresent($database)
 {
     $tables = array_flip($database->listTables());
     if (!(isset($tables['tl_metamodel']) && isset($tables['tl_metamodel_dca']) && isset($tables['tl_metamodel_dca_sortgroup']) && isset($tables['tl_metamodel_dcasetting']) && isset($tables['tl_metamodel_dcasetting_condition']) && isset($tables['tl_metamodel_attribute']) && isset($tables['tl_metamodel_filter']) && isset($tables['tl_metamodel_filtersetting']) && isset($tables['tl_metamodel_rendersettings']) && isset($tables['tl_metamodel_rendersetting']) && isset($tables['tl_metamodel_dca_combine']))) {
         return false;
     }
     return true;
 }