In my controller, I displayed $ dataProvider
$searchModel = new StudentSearch(); $dataProvider = $searchModel->search(Yii::$app->request->queryParams); return $this->render('index', [ 'searchModel' => $searchModel, 'dataProvider' => $dataProvider, ]);
Here is StudentSearch search function
public function search($params) { $query = Student::find(); $query->andFilterWhere([ 'student_id' => $this->student_id, 'age' => $this->age, ]); $query->andFilterWhere(['like', 'firstname', $this->firstname]); $dataProvider = new ActiveDataProvider([ 'query' => $query, ]); if (!($this->load($params) && $this->validate())) { return $dataProvider; } return $dataProvider; }
I used $ dataprivider in ListView widgets as below
<div class="listView"> <?php echo ListView::widget([ 'dataProvider' => $dataProvider, 'itemView' => '_student_list', ]); ?> </div>
In '_student_list.php' I have listed students
my filters
<div class="listFilter"> <input type="text" name="firstname"/> <input type="text" name="age"/> </div>
Now I want to filter Students by name or age. How can i do this? If you have any solution to this problem, please help. Thanks.
php yii2
Guwanch
source share