Commit 50308d87 by Qiang Xue

Fixes #2491: Added support for using the same base class name of search model…

Fixes #2491: Added support for using the same base class name of search model and data model in Gii [skip ci]
parent 9142c9c8
...@@ -12,6 +12,7 @@ Yii Framework 2 gii extension Change Log ...@@ -12,6 +12,7 @@ Yii Framework 2 gii extension Change Log
- Enh #1818: Do not display checkbox column if all rows are empty (johonunu) - Enh #1818: Do not display checkbox column if all rows are empty (johonunu)
- Enh #1897: diff markup is now copy paste friendly (samdark) - Enh #1897: diff markup is now copy paste friendly (samdark)
- Enh #2327: better visual representation of changed files, added header and refresh button to diff modal (thiagotalma) - Enh #2327: better visual representation of changed files, added header and refresh button to diff modal (thiagotalma)
- Enh #2491: Added support for using the same base class name of search model and data model in Gii (qiangxue)
2.0.0 alpha, December 1, 2013 2.0.0 alpha, December 1, 2013
----------------------------- -----------------------------
......
...@@ -14,7 +14,7 @@ $controllerClass = StringHelper::basename($generator->controllerClass); ...@@ -14,7 +14,7 @@ $controllerClass = StringHelper::basename($generator->controllerClass);
$modelClass = StringHelper::basename($generator->modelClass); $modelClass = StringHelper::basename($generator->modelClass);
$searchModelClass = StringHelper::basename($generator->searchModelClass); $searchModelClass = StringHelper::basename($generator->searchModelClass);
if ($modelClass === $searchModelClass) { if ($modelClass === $searchModelClass) {
$searchModelAlias = $searchModelClass.'Search'; $searchModelAlias = $searchModelClass . 'Search';
} }
/** @var ActiveRecordInterface $class */ /** @var ActiveRecordInterface $class */
...@@ -31,7 +31,7 @@ namespace <?= StringHelper::dirname(ltrim($generator->controllerClass, '\\')) ?> ...@@ -31,7 +31,7 @@ namespace <?= StringHelper::dirname(ltrim($generator->controllerClass, '\\')) ?>
use Yii; use Yii;
use <?= ltrim($generator->modelClass, '\\') ?>; use <?= ltrim($generator->modelClass, '\\') ?>;
use <?= ltrim($generator->searchModelClass, '\\') ?><?php if (isset($searchModelAlias)):?> as <?= $searchModelAlias ?><?php endif ?>; use <?= ltrim($generator->searchModelClass, '\\') . (isset($searchModelClass) ? " as $searchModelClass" : "") ?>;
use <?= ltrim($generator->baseControllerClass, '\\') ?>; use <?= ltrim($generator->baseControllerClass, '\\') ?>;
use yii\web\NotFoundHttpException; use yii\web\NotFoundHttpException;
use yii\web\VerbFilter; use yii\web\VerbFilter;
......
...@@ -11,6 +11,9 @@ use yii\helpers\StringHelper; ...@@ -11,6 +11,9 @@ use yii\helpers\StringHelper;
$modelClass = StringHelper::basename($generator->modelClass); $modelClass = StringHelper::basename($generator->modelClass);
$searchModelClass = StringHelper::basename($generator->searchModelClass); $searchModelClass = StringHelper::basename($generator->searchModelClass);
if ($modelClass === $searchModelClass) {
$modelAlias = $modelClass . 'Model';
}
$rules = $generator->generateSearchRules(); $rules = $generator->generateSearchRules();
$labels = $generator->generateSearchLabels(); $labels = $generator->generateSearchLabels();
$searchAttributes = $generator->getSearchAttributes(); $searchAttributes = $generator->getSearchAttributes();
...@@ -23,10 +26,10 @@ namespace <?= StringHelper::dirname(ltrim($generator->searchModelClass, '\\')) ? ...@@ -23,10 +26,10 @@ namespace <?= StringHelper::dirname(ltrim($generator->searchModelClass, '\\')) ?
use yii\base\Model; use yii\base\Model;
use yii\data\ActiveDataProvider; use yii\data\ActiveDataProvider;
use <?= ltrim($generator->modelClass, '\\') ?>; use <?= ltrim($generator->modelClass, '\\') . (isset($modelAlias) ? " as $modelAlias" : "") ?>;
/** /**
* <?= $searchModelClass ?> represents the model behind the search form about <?= $modelClass ?>. * <?= $searchModelClass ?> represents the model behind the search form about `<?= $generator->modelClass ?>`.
*/ */
class <?= $searchModelClass ?> extends Model class <?= $searchModelClass ?> extends Model
{ {
...@@ -53,7 +56,7 @@ class <?= $searchModelClass ?> extends Model ...@@ -53,7 +56,7 @@ class <?= $searchModelClass ?> extends Model
public function search($params) public function search($params)
{ {
$query = <?= $modelClass ?>::find(); $query = <?= isset($modelAlias) ? $modelAlias : $modelClass ?>::find();
$dataProvider = new ActiveDataProvider([ $dataProvider = new ActiveDataProvider([
'query' => $query, 'query' => $query,
]); ]);
......
...@@ -118,6 +118,7 @@ Yii Framework 2 Change Log ...@@ -118,6 +118,7 @@ Yii Framework 2 Change Log
- Enh #2436: Label of the attribute, which looks like `relatedModel.attribute`, will be received from the related model if it available (djagya) - Enh #2436: Label of the attribute, which looks like `relatedModel.attribute`, will be received from the related model if it available (djagya)
- Enh #2415: Added support for inverse relations (qiangxue) - Enh #2415: Added support for inverse relations (qiangxue)
- Enh #2490: `yii\db\Query::count()` and other query scalar methods now properly handle queries with GROUP BY clause (qiangxue) - Enh #2490: `yii\db\Query::count()` and other query scalar methods now properly handle queries with GROUP BY clause (qiangxue)
- Enh #2491: Added support for using the same base class name of search model and data model in Gii (qiangxue)
- Enh #2499: Added ability to downgrade migrations by their absolute apply time (resurtm, gorcer) - Enh #2499: Added ability to downgrade migrations by their absolute apply time (resurtm, gorcer)
- Enh: Added support for using arrays as option values for console commands (qiangxue) - Enh: Added support for using arrays as option values for console commands (qiangxue)
- Enh: Added `favicon.ico` and `robots.txt` to default application templates (samdark) - Enh: Added `favicon.ico` and `robots.txt` to default application templates (samdark)
......
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