protected function fetchInputScreenDetails()
    {
        $inputScreenIds = array();
        foreach ($this->information as $info) {
            $inputScreenIds[] = $info[self::COMBINATION]['dca_id'];
        }

        if (!$inputScreenIds) {
            return;
        }

        $statement = $this->connection->query(
            sprintf(
                'SELECT * FROM tl_metamodel_dca WHERE id IN (%s)',
                implode(',', $inputScreenIds)
            )
        );

        while ($inputScreens = $statement->fetch(\PDO::FETCH_OBJ)) {
            /** @noinspection PhpUndefinedFieldInspection */
            $screenId = $inputScreens->id;
            /** @noinspection PhpUndefinedFieldInspection */
            $metaModelId   = $inputScreens->pid;
            $metaModelName = $this->tableNameFromId($metaModelId);

            $propertyRows = $this->connection
                ->prepare('SELECT * FROM tl_metamodel_dcasetting WHERE pid=? AND published=1 ORDER BY sorting ASC');

            $propertyRows->bindValue(1, $screenId);
            $propertyRows->execute();

            $conditions = $this->connection->prepare('
                    SELECT cond.*, setting.attr_id AS setting_attr_id
                    FROM tl_metamodel_dcasetting_condition AS cond
                    LEFT JOIN tl_metamodel_dcasetting AS setting
                    ON (cond.settingId=setting.id)
                    LEFT JOIN tl_metamodel_dca AS dca
                    ON (setting.pid=dca.id)
                    WHERE dca.id=? AND setting.published=1 AND cond.enabled=1
                    ORDER BY sorting ASC
                ');

            $conditions->bindValue(1, $screenId);
            $conditions->execute();

            $groupSort = $this->connection->prepare('
                    SELECT *
                    FROM tl_metamodel_dca_sortgroup
                    WHERE pid=?
                    ORDER BY sorting ASC
                ');
            $groupSort->bindValue(1, $screenId);
            $groupSort->execute();

            $inputScreen = array(
                'row'        => $inputScreens->row(),
                'properties' => $propertyRows->fetchAll(\PDO::FETCH_ASSOC),
                'conditions' => $conditions->fetchAll(\PDO::FETCH_ASSOC),
                'groupSort'  => $groupSort->fetchAll(\PDO::FETCH_ASSOC)
            );

            $this->information[$metaModelName][self::INPUTSCREEN] = $inputScreen;
            $this->information[$metaModelName][self::MODELID]     = $metaModelId;

            $parentTable = $inputScreen['row']['ptable'];
            if ($parentTable && !$this->isInputScreenStandalone($metaModelName)) {
                $this->parentMap[$parentTable][] = $this->information[$metaModelName][self::MODELID];
                $this->childMap[$metaModelName]  = $parentTable;
            }
        }
    }
protected function fetchInputScreenDetails()
    {
        $inputScreenIds = array();
        foreach ($this->information as $info) {
            $inputScreenIds[] = $info[self::COMBINATION]['dca_id'];
        }

        if (!$inputScreenIds) {
            return;
        }

        $statement = $this->connection->query(
            sprintf(
                'SELECT * FROM tl_metamodel_dca WHERE id IN (%s)',
                implode(',', $inputScreenIds)
            )
        );

        while ($inputScreens = $statement->fetch(\PDO::FETCH_OBJ)) {
            /** @noinspection PhpUndefinedFieldInspection */
            $screenId = $inputScreens->id;
            /** @noinspection PhpUndefinedFieldInspection */
            $metaModelId   = $inputScreens->pid;
            $metaModelName = $this->tableNameFromId($metaModelId);

            $propertyRows = $this->connection
                ->prepare('SELECT * FROM tl_metamodel_dcasetting WHERE pid=? AND published=1 ORDER BY sorting ASC');

            $propertyRows->bindValue(1, $screenId);
            $propertyRows->execute();

            $conditions = $this->connection->prepare('
                    SELECT cond.*, setting.attr_id AS setting_attr_id
                    FROM tl_metamodel_dcasetting_condition AS cond
                    LEFT JOIN tl_metamodel_dcasetting AS setting
                    ON (cond.settingId=setting.id)
                    LEFT JOIN tl_metamodel_dca AS dca
                    ON (setting.pid=dca.id)
                    WHERE dca.id=? AND setting.published=1 AND cond.enabled=1
                    ORDER BY sorting ASC
                ');

            $conditions->bindValue(1, $screenId);
            $conditions->execute();

            $groupSort = $this->connection->prepare('
                    SELECT *
                    FROM tl_metamodel_dca_sortgroup
                    WHERE pid=?
                    ORDER BY sorting ASC
                ');
            $groupSort->bindValue(1, $screenId);
            $groupSort->execute();

            $inputScreen = array(
                'row'        => $inputScreens->row(),
                'properties' => $propertyRows->fetchAll(\PDO::FETCH_ASSOC),
                'conditions' => $conditions->fetchAll(\PDO::FETCH_ASSOC),
                'groupSort'  => $groupSort->fetchAll(\PDO::FETCH_ASSOC)
            );

            $this->information[$metaModelName][self::INPUTSCREEN] = $inputScreen;
            $this->information[$metaModelName][self::MODELID]     = $metaModelId;

            $parentTable = $inputScreen['row']['ptable'];
            if ($parentTable && !$this->isInputScreenStandalone($metaModelName)) {
                $this->parentMap[$parentTable][] = $this->information[$metaModelName][self::MODELID];
                $this->childMap[$metaModelName]  = $parentTable;
            }
        }
    }
protected function fetchInputScreenDetails ( ) { $ inputScreenIds = array ( ) ; foreach ( $ this -> information as $ info ) { $ inputScreenIds [ ] = $ info [ self :: COMBINATION ] [ 'dca_id' ] ; } if ( ! $ inputScreenIds ) { return ; } $ statement = $ this -> connection -> query ( sprintf ( 'SELECT * FROM tl_metamodel_dca WHERE id IN (%s)' , implode ( ',' , $ inputScreenIds ) ) ) ; while ( $ inputScreens = $ statement -> fetch ( \ PDO :: FETCH_OBJ ) ) { /** @noinspection PhpUndefinedFieldInspection */ $ screenId = $ inputScreens -> id ; /** @noinspection PhpUndefinedFieldInspection */ $ metaModelId = $ inputScreens -> pid ; $ metaModelName = $ this -> tableNameFromId ( $ metaModelId ) ; $ propertyRows = $ this -> connection -> prepare ( 'SELECT * FROM tl_metamodel_dcasetting WHERE pid=? AND published=1 ORDER BY sorting ASC' ) ; $ propertyRows -> bindValue ( 1 , $ screenId ) ; $ propertyRows -> execute ( ) ; $ conditions = $ this -> connection -> prepare ( '
                    SELECT cond.*, setting.attr_id AS setting_attr_id
                    FROM tl_metamodel_dcasetting_condition AS cond
                    LEFT JOIN tl_metamodel_dcasetting AS setting
                    ON (cond.settingId=setting.id)
                    LEFT JOIN tl_metamodel_dca AS dca
                    ON (setting.pid=dca.id)
                    WHERE dca.id=? AND setting.published=1 AND cond.enabled=1
                    ORDER BY sorting ASC
                ' ) ; $ conditions -> bindValue ( 1 , $ screenId ) ; $ conditions -> execute ( ) ; $ groupSort = $ this -> connection -> prepare ( '
                    SELECT *
                    FROM tl_metamodel_dca_sortgroup
                    WHERE pid=?
                    ORDER BY sorting ASC
                ' ) ; $ groupSort -> bindValue ( 1 , $ screenId ) ; $ groupSort -> execute ( ) ; $ inputScreen = array ( 'row' => $ inputScreens -> row ( ) , 'properties' => $ propertyRows -> fetchAll ( \ PDO :: FETCH_ASSOC ) , 'conditions' => $ conditions -> fetchAll ( \ PDO :: FETCH_ASSOC ) , 'groupSort' => $ groupSort -> fetchAll ( \ PDO :: FETCH_ASSOC ) ) ; $ this -> information [ $ metaModelName ] [ self :: INPUTSCREEN ] = $ inputScreen ; $ this -> information [ $ metaModelName ] [ self :: MODELID ] = $ metaModelId ; $ parentTable = $ inputScreen [ 'row' ] [ 'ptable' ] ; if ( $ parentTable && ! $ this -> isInputScreenStandalone ( $ metaModelName ) ) { $ this -> parentMap [ $ parentTable ] [ ] = $ this -> information [ $ metaModelName ] [ self :: MODELID ] ; $ this -> childMap [ $ metaModelName ] = $ parentTable ; } } }
Pull in all DCA settings for the buffered MetaModels and buffer them in the static class.

@return void

@throws \Doctrine\DBAL\DBALException When a database error occurs.
Pull in all DCA settings for the buffered MetaModels and buffer them in the static class .