Искать в списке ArrayDataProvider в YII2

Я использовал приведенный ниже код для создания списка в yii2

Код контроллера

$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,
]);

Посмотреть код

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

пагинация

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

Этот код работает, но мне нужен поиск или опция фильтра в этом списке
как поиск name = ‘name2’

Я новичок в yii2 framework. Пожалуйста, предложите любое подходящее решение для этой проблемы.

Спасибо

1

Решение

ArrayDataProvider реализует только сортировку. У вас есть 2 варианта:

  1. Подгонка данных перед созданием dataProvider
  2. Расширьте ArrayDataProvider и внедрите фильтры.
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]