Deeban Babu
Deeban Babu

Reputation: 729

Search in ArrayDataProvider list in YII2

I used below code to generate list in yii2

Controler code

$data = [['id'=>1, 'name'=>'name1'],
['id'=>2, 'name'=>'name2'],
['id'=>3, 'name'=>'name3'],
['id'=>4, 'name'=>'name4'],
['id'=>5, 'name'=>'name5'],
['id'=>6, 'name'=>'name6'],]
$provider = new ArrayDataProvider([
            'allModels' => $data,
            'pagination' => [
                'pageSize' => 5,
            ],
            'sort' => [
                'attributes' => ['id', 'name'],
            ],
        ]);
$lists = $provider->getModels();
return $this->render('list', [                
                'provider'  => $provider,
                'lists'  => $lists,              
            ]);

View code

foreach($lists as $list){
.....
}

Pagination

\yii\widgets\LinkPager::widget([
    'pagination'=>$provider->pagination,
]);

This code is working but i need search or filter option in this list like name ='name2' search

I am new for yii2 framework Please suggest any suitable solution for this problem

Thanks

Upvotes: 1

Views: 1599

Answers (1)

Konstantin
Konstantin

Reputation: 566

ArrayDataProvider implement sort only. You have 2 choice:

  1. Fitler data before creating dataProvider
  2. Extend ArrayDataProvider and implement filters.

Upvotes: 1

Related Questions