| Current Path : /var/www/html/dosm/backend/modules/menu/models/frontend/ |
| Current File : /var/www/html/dosm/backend/modules/menu/models/frontend/MenuSearch.php |
<?php
namespace backend\modules\menu\models\frontend;
use yii\base\Model;
use yii\data\ActiveDataProvider;
/**
* FrontendMenuSearch
*/
class MenuSearch extends Menu {
/**
* @inheritdoc
*/
public function rules() {
return [
[['menu_id', 'menu_parent_id'], 'integer'],
[['menu_name', 'menu_link', 'menu_param', 'menu_class', 'menu_field_id', 'menu_status', 'menu_icon', 'menu_type', 'new_label', 'new_tab'], 'safe'],
];
}
/**
* @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 = Menu::find();
// add conditions that should always apply here
$dataProvider = new ActiveDataProvider([
'query' => $query,
'sort' => ['defaultOrder' => ['menu_id' => SORT_DESC]],
'pagination' => ['pageSize' => 10],
]);
$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;
}
// grid filtering conditions
$query->andFilterWhere(['like', 'menu_name', $this->menu_name])
->andFilterWhere(['like', 'menu_class', $this->menu_class])
->andFilterWhere(['like', 'menu_field_id', $this->menu_field_id])
->andFilterWhere(['like', 'menu_link', $this->menu_link])
->andFilterWhere(['=', 'menu_status', $this->menu_status])
->andFilterWhere(['like', 'menu_icon', $this->menu_icon])
->andFilterWhere(['like', 'menu_type', $this->menu_type])
->andFilterWhere(['like', 'new_label', $this->new_label])
->andFilterWhere(['like', 'new_tab', $this->new_tab]);
return $dataProvider;
}
}