47 lines
952 B
PHP
47 lines
952 B
PHP
<?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;
|
|
}
|
|
} |