Commit 38c0b197 by Qiang Xue

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

parent 8c9dadf3
...@@ -514,7 +514,8 @@ class Generator extends \yii\gii\Generator ...@@ -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 ...@@ -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, '_');
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment