1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- <?php
- namespace backend\models\search;
- use common\models\Survey;
- use yii\base\Model;
- use yii\data\ActiveDataProvider;
- /**
- * SurveySearch represents the model behind the search form about `common\models\Survey`.
- */
- class SurveySearch extends Survey
- {
- /**
- * {@inheritdoc}
- */
- public function rules()
- {
- return [
- [['id', 'category_id', 'created_at', 'updated_at', 'status'], 'integer'],
- [['title', 'category', 'cover', 'module'], 'string'],
- ];
- }
- /**
- * {@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 = Survey::find();
- $dataProvider = new ActiveDataProvider([
- 'query' => $query,
- 'sort' => [
- 'defaultOrder' => [
- 'id' => SORT_ASC
- ]
- ]
- ]);
- $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;
- }
- $query->andFilterWhere([
- 'id' => $this->id,
- 'status' => $this->status,
- 'module' => $this->module,
- ]);
- $query->andFilterWhere(['like', 'title', $this->title]);
- return $dataProvider;
- }
- }
|