From 3847630994a068d89a293ae5498bc98e7fc54e20 Mon Sep 17 00:00:00 2001 From: Stephen Seliuk <stephen@seliuk.com> Date: Wed, 10 Sep 2014 13:10:19 +0300 Subject: [PATCH] Fixes #4971: Fixed hardcoded table names in `viaTable` expression in model generator --- extensions/gii/CHANGELOG.md | 1 + extensions/gii/generators/model/Generator.php | 4 ++-- extensions/gii/generators/model/default/model.php | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/extensions/gii/CHANGELOG.md b/extensions/gii/CHANGELOG.md index e70314b..e7f062b 100644 --- a/extensions/gii/CHANGELOG.md +++ b/extensions/gii/CHANGELOG.md @@ -9,6 +9,7 @@ Yii Framework 2 gii extension Change Log - Bug #3265: Fixed incorrect controller class name validation (suralc) - Bug #3693: Fixed broken Gii preview when a file is unchanged (cebe) - Bug #4410: Fixed Gii to preserve database column order in generated _form.php (kmindi) +- Bug #4971: Fixed hardcoded table names in `viaTable` expression in model generator (stepanselyuk) - Enh #2018: Search model is not required anymore in CRUD generator (johonunu) - Enh #3088: The gii module will manage their own URL rules now (qiangxue) - Enh #3222: Added `useTablePrefix` option to the model generator for Gii (horizons2) diff --git a/extensions/gii/generators/model/Generator.php b/extensions/gii/generators/model/Generator.php index 8a29795..ffbac25 100644 --- a/extensions/gii/generators/model/Generator.php +++ b/extensions/gii/generators/model/Generator.php @@ -354,7 +354,7 @@ class Generator extends \yii\gii\Generator $viaLink = $this->generateRelationLink([$table->primaryKey[0] => $fks[$table->primaryKey[0]][1]]); $relationName = $this->generateRelationName($relations, $className0, $db->getTableSchema($table0), $table->primaryKey[1], true); $relations[$className0][$relationName] = [ - "return \$this->hasMany($className1::className(), $link)->viaTable('{$table->name}', $viaLink);", + "return \$this->hasMany($className1::className(), $link)->viaTable('{" . $this->generateTableName($table->name) . "}', $viaLink);", $className1, true, ]; @@ -363,7 +363,7 @@ class Generator extends \yii\gii\Generator $viaLink = $this->generateRelationLink([$table->primaryKey[1] => $fks[$table->primaryKey[1]][1]]); $relationName = $this->generateRelationName($relations, $className1, $db->getTableSchema($table1), $table->primaryKey[0], true); $relations[$className1][$relationName] = [ - "return \$this->hasMany($className0::className(), $link)->viaTable('{$table->name}', $viaLink);", + "return \$this->hasMany($className0::className(), $link)->viaTable('{" . $this->generateTableName($table->name) . "}', $viaLink);", $className0, true, ]; diff --git a/extensions/gii/generators/model/default/model.php b/extensions/gii/generators/model/default/model.php index 67d9e8a..cd5a2fc 100644 --- a/extensions/gii/generators/model/default/model.php +++ b/extensions/gii/generators/model/default/model.php @@ -20,7 +20,7 @@ namespace <?= $generator->ns ?>; use Yii; /** - * This is the model class for table "<?= $tableName ?>". + * This is the model class for table "<?= $generator->generateTableName($tableName) ?>". * <?php foreach ($tableSchema->columns as $column): ?> * @property <?= "{$column->phpType} \${$column->name}\n" ?> -- libgit2 0.27.1