| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 | <?phpnamespace backend\models\search;use common\models\Article;use yii\base\Model;use yii\data\ActiveDataProvider;/** * Article represents the model behind the search form about `common\models\Article`. */class ArticleSearch extends Article{    /**     * {@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 = Article::find()->notTrashed();        $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,            'category_id' => $this->category_id,            'status' => $this->status,            'module' => $this->module,        ]);        $query->andFilterWhere(['like', 'title', $this->title])            ->andFilterWhere(['like', 'category', $this->category])            ->andFilterWhere(['like', 'cover', $this->cover]);        return $dataProvider;    }}
 |