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";
}