jamband\schemadump\SchemaDumpController::getForeignKeyDefinition PHP Method

getForeignKeyDefinition() private method

Returns the foreign key definition.
private getForeignKeyDefinition ( TableSchema[] $table ) : string | null
$table TableSchema[]
return string | null foreign key definition or null
    private function getForeignKeyDefinition($table)
    {
        if (empty($table->foreignKeys)) {
            return;
        }
        $definition = "// fk: {$table->name}\n";
        foreach ($table->foreignKeys as $fk) {
            $refTable = '';
            $refColumns = '';
            $columns = '';
            foreach ($fk as $k => $v) {
                if ($k === 0) {
                    $refTable = $v;
                } else {
                    $columns = $k;
                    $refColumns = $v;
                }
            }
            $template = "\$this->addForeignKey('<name>', '{{%<table>}}', '<columns>', '{{%<refTable>}}', '<refColumns>');\n";
            $definition .= strtr($template, ['<name>' => "fk_{$table->name}_{$columns}", '<table>' => $table->name, '<columns>' => $columns, '<refTable>' => $refTable, '<refColumns>' => $refColumns]);
        }
        return "{$definition}\n";
    }