_processForeignKeys example


        $columns = $this->_processFields(true);

        for ($i = 0, $c = count($columns)$i < $c$i++) {
            $columns[$i] = ($columns[$i]['_literal'] !== false) ? "\n\t" . $columns[$i]['_literal']
                : "\n\t" . $this->_processColumn($columns[$i]);
        }

        $columns = implode(',', $columns);

        $columns .= $this->_processPrimaryKeys($table);
        $columns .= current($this->_processForeignKeys($table));

        if ($this->createTableKeys === true) {
            $indexes = current($this->_processIndexes($table));
            if (is_string($indexes)) {
                $columns .= $indexes;
            }
        }

        return sprintf(
            $this->createTableStr . '%s',
            'CREATE TABLE',
            
return '';
    }

    /** * Generates SQL to add foreign keys * * @param bool $asQuery When true recreates table with key, else partial SQL used with CREATE TABLE */
    protected function _processForeignKeys(string $table, bool $asQuery = false): array
    {
        if ($asQuery === false) {
            return parent::_processForeignKeys($table$asQuery);
        }

        $errorNames = [];

        foreach ($this->foreignKeys as $name) {
            foreach ($name['field'] as $f) {
                if (isset($this->fields[$f])) {
                    $errorNames[] = $f;
                }
            }
        }

        
Home | Imprint | This part of the site doesn't use cookies.