|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- <?php
- /**
- * This is the template for generating CRUD search class of the specified model.
- */
-
- use yii\helpers\StringHelper;
-
-
- /* @var $this yii\web\View */
- /* @var $generator yii\gii\generators\crud\Generator */
-
- $modelClass = StringHelper::basename($generator->modelClass);
- $searchModelClass = StringHelper::basename($generator->searchModelClass);
- if ($modelClass === $searchModelClass) {
- $modelAlias = $modelClass . 'Model';
- }
- $rules = $generator->generateSearchRules();
- $labels = $generator->generateSearchLabels();
- $searchAttributes = $generator->getSearchAttributes();
- $searchConditions = $generator->generateSearchConditions();
-
- echo "<?php\n";
- ?>
-
- namespace <?= StringHelper::dirname(ltrim($generator->searchModelClass, '\\')) ?>;
-
- use Yii;
- use yii\base\Model;
- use yii\data\ActiveDataProvider;
- use <?= ltrim($generator->modelClass, '\\') . (isset($modelAlias) ? " as $modelAlias" : "") ?>;
-
- /**
- * <?= $searchModelClass ?> represents the model behind the search form about `<?= $generator->modelClass ?>`.
- */
- class <?= $searchModelClass ?> extends <?= isset($modelAlias) ? $modelAlias : $modelClass ?>
-
- {
- /**
- * @inheritdoc
- */
- public function rules()
- {
- return [
- <?= implode(",\n ", $rules) ?>,
- ];
- }
-
- /**
- * @inheritdoc
- */
- public function scenarios()
- {
- // bypass scenarios() implementation in the parent class
- return Model::scenarios();
- }
-
- /**
- * Creates data provider instance with search query applied
- *
- * @param array $params
- *
- * @return ActiveDataProvider
- */
- public function search($params)
- {
- $query = <?= isset($modelAlias) ? $modelAlias : $modelClass ?>::find();
-
- // add conditions that should always apply here
-
- $dataProvider = new ActiveDataProvider([
- 'query' => $query,
- ]);
-
- $this->load($params);
-
- if (!$this->validate()) {
- // uncomment the following line if you do not want to return any records when validation fails
- // $query->where('0=1');
- return $dataProvider;
- }
-
- // grid filtering conditions
- <?= implode("\n ", $searchConditions) ?>
-
- return $dataProvider;
- }
- }
|