skeeks\cms\models\searchs\CmsContentElementSearch::search PHP Method

    public function search($params)
    {
        $tableName = $this->tableName();
        $activeDataProvider = new ActiveDataProvider(['query' => static::find()]);
        if (!$this->load($params)) {
            return $activeDataProvider;
        }
        $query = $activeDataProvider->query;
        //Standart
        if ($columns = $this->getTableSchema()->columns) {
            /**
             * @var \yii\db\ColumnSchema $column
             */
            foreach ($columns as $column) {
                if ($column->phpType == "integer") {
                    $query->andFilterWhere([$this->tableName() . '.' . $column->name => $this->{$column->name}]);
                } else {
                    if ($column->phpType == "string") {
                        $query->andFilterWhere(['like', $this->tableName() . '.' . $column->name, $this->{$column->name}]);
                    }
                }
            }
        }
        if ($this->section) {
            $query->joinWith('cmsContentElementTrees');
            $query->andFilterWhere(['or', [$this->tableName() . '.tree_id' => $this->section], [CmsContentElementTree::tableName() . '.tree_id' => $this->section]]);
        }
        if ($this->created_at_from) {
            $query->andFilterWhere(['>=', $this->tableName() . '.created_at', \Yii::$app->formatter->asTimestamp(strtotime($this->created_at_from))]);
        }
        if ($this->created_at_to) {
            $query->andFilterWhere(['<=', $this->tableName() . '.created_at', \Yii::$app->formatter->asTimestamp(strtotime($this->created_at_to))]);
        }
        if ($this->updated_at_from) {
            $query->andFilterWhere(['>=', $this->tableName() . '.updated_at', \Yii::$app->formatter->asTimestamp(strtotime($this->updated_at_from))]);
        }
        if ($this->updated_at_to) {
            $query->andFilterWhere(['<=', $this->tableName() . '.created_at', \Yii::$app->formatter->asTimestamp(strtotime($this->updated_at_to))]);
        }
        if ($this->published_at_from) {
            $query->andFilterWhere(['>=', $this->tableName() . '.published_at', \Yii::$app->formatter->asTimestamp(strtotime($this->published_at_from))]);
        }
        if ($this->published_at_to) {
            $query->andFilterWhere(['<=', $this->tableName() . '.published_at', \Yii::$app->formatter->asTimestamp(strtotime($this->published_at_to))]);
        }
        if ($this->has_image) {
            $query->andFilterWhere(['>', $this->tableName() . '.image_id', 0]);
        }
        if ($this->has_full_image) {
            $query->andFilterWhere(['>', $this->tableName() . '.image_full_id', 0]);
        }
        if ($this->q) {
            $query->andFilterWhere(['or', ['like', $this->tableName() . '.name', $this->q], ['like', $this->tableName() . '.description_full', $this->q], ['like', $this->tableName() . '.description_short', $this->q]]);
        }
        return $activeDataProvider;
    }