Answer Posted / Gaurav Ankur
In Yii2, the SearchModel class is used for performing searches. It extends the ActiveDataProvider class and allows you to easily filter data based on user input. The search() function typically defines the rules for searching. Here's an example:
```php
class ProductSearch extends yiidbModel {
// ...
public function rules() {
return [
[['product_name', 'manufacturer'], 'safe'],
];
}
public function search($params) {
$query = Product::find();
$dataProvider = new ActiveDataProvider([
'query' => $query,
]);
if (!$this->validate($params)) {
return $dataProvider;
}
$query->andFilterWhere([
// ...
]);
$query->andFilterWhere(['like', 'product_name', $this->product_name])
->andFilterWhere(['like', 'manufacturer', $this->manufacturer]);
return $dataProvider;
}
}
```
| Is This Answer Correct ? | 0 Yes | 0 No |
Post New Answer View All Answers