<?php

namespace app\models;
use yii\base\Model;
use yii\data\ActiveDataProvider;

class ParameterSearch extends Parameter
{
    public $id;
    public $title;

    public function rules()
    {
        return [
            [[ 'id' ], 'integer' ],
            [[ 'title' ], 'string' ]
        ];
    }

    public function scenarios()
    {
        return Model::scenarios();
    }

    public function search($params): ActiveDataProvider
    {
        $query = Parameter::find()->with(['icon', 'iconGray']);

        $dataProvider = new ActiveDataProvider([
            'query' => $query,
        ]);

        if (!($this->load($params) && $this->validate())) {
            return $dataProvider;
        }

        if ($this->title) {
            $query->andFilterWhere(['like', 'title', $this->title]);
        }

        if ($this->id) {
            $query->andFilterWhere(['like', 'id', $this->id]);
        }

        return $dataProvider;
    }
}