Pimcore\Model\Object\Objectbrick\Definition::updateDatabase PHP Méthode

updateDatabase() private méthode

private updateDatabase ( ) : void
Résultat void
    private function updateDatabase()
    {
        $processedClasses = [];
        if (!empty($this->classDefinitions)) {
            foreach ($this->classDefinitions as $cl) {
                unset($this->oldClassDefinitions[$cl['classname']]);
                if (!$processedClasses[$cl['classname']]) {
                    $class = Object\ClassDefinition::getById($cl['classname']);
                    $this->getDao()->createUpdateTable($class);
                    $processedClasses[$cl['classname']] = true;
                }
            }
        }
        if (!empty($this->oldClassDefinitions)) {
            foreach ($this->oldClassDefinitions as $cl) {
                $class = Object\ClassDefinition::getById($cl);
                if ($class) {
                    $this->getDao()->delete($class);
                    foreach ($class->getFieldDefinitions() as $fieldDef) {
                        if ($fieldDef instanceof Object\ClassDefinition\Data\Objectbricks) {
                            $allowedTypes = $fieldDef->getAllowedTypes();
                            $idx = array_search($this->getKey(), $allowedTypes);
                            if ($idx !== false) {
                                array_splice($allowedTypes, $idx, 1);
                            }
                            $fieldDef->setAllowedTypes($allowedTypes);
                        }
                    }
                    $class->save();
                }
            }
        }
    }