Browse Source

Fixes #916: generation of class name from table name has problem.

tags/2.0.0-beta
Qiang Xue 11 years ago
parent
commit
38c0b197f9
  1. 4
      framework/yii/gii/generators/model/Generator.php

4
framework/yii/gii/generators/model/Generator.php

@ -514,7 +514,8 @@ class Generator extends \yii\gii\Generator
$patterns[] = '/^' . str_replace('*', '(\w+)', $pattern) . '$/'; $patterns[] = '/^' . str_replace('*', '(\w+)', $pattern) . '$/';
} }
if (!empty($db->tablePrefix)) { if (!empty($db->tablePrefix)) {
$patterns[] = "/^{$db->tablePrefix}(.*?)|(.*?){$db->tablePrefix}$/"; $patterns[] = "/^{$db->tablePrefix}(.*?)$/";
$patterns[] = "/^(.*?){$db->tablePrefix}$/";
} else { } else {
$patterns[] = "/^tbl_(.*?)$/"; $patterns[] = "/^tbl_(.*?)$/";
} }
@ -523,6 +524,7 @@ class Generator extends \yii\gii\Generator
foreach ($patterns as $pattern) { foreach ($patterns as $pattern) {
if (preg_match($pattern, $tableName, $matches)) { if (preg_match($pattern, $tableName, $matches)) {
$className = $matches[1]; $className = $matches[1];
break;
} }
} }
return $this->_classNames[$tableName] = Inflector::id2camel($className, '_'); return $this->_classNames[$tableName] = Inflector::id2camel($className, '_');

Loading…
Cancel
Save