mootensai\enhancedgii\migration\Generator::generateRelations PHP Method

generateRelations() protected method

protected generateRelations ( ) : array
return array the generated relation declarations
    protected function generateRelations()
    {
        if (!$this->generateRelations) {
            return [];
        }
        $db = $this->getDbConnection();
        if (($pos = strpos($this->tableName, '.')) !== false) {
            $schemaName = substr($this->tableName, 0, $pos);
        } else {
            $schemaName = '';
        }
        $relations = [];
        foreach ($db->getSchema()->getTableSchemas($schemaName) as $table) {
            $tableName = $table->name;
            foreach ($table->foreignKeys as $refs) {
                $refTable = $refs[0];
                $refTableName = $this->generateTableName($refTable);
                unset($refs[0]);
                $fks = implode(']], [[', array_keys($refs));
                $pks = implode(']], [[', array_values($refs));
                $relation = "FOREIGN KEY ([[{$fks}]]) REFERENCES {$refTableName} ([[{$pks}]]) ON DELETE CASCADE ON UPDATE CASCADE";
                $relations[$tableName][$refTable] = $relation;
            }
        }
        return $relations;
    }