load($params) ) { return new ArrayDataProvider([ 'allModels' => $menus, 'pagination' => [ 'pageSize' => -1, ], ]); } $classNameArray = explode('\\', self::className()); $className = end($classNameArray); if (isset($params[$className])) { $searchParams = $params[$className]; foreach ($searchParams as $searchParamKey => $searchParamValue) { if ($searchParamValue !== '') { foreach ($menus as $key => $menu) { if (in_array($searchParamKey, ['sort'])) { if ($menu[$searchParamKey] != $searchParamValue) { unset($menus[$key]); } } else { if (strpos($menu[$searchParamKey], $searchParamValue) === false) { unset($menus[$key]); } } } } } } return new ArrayDataProvider([ 'allModels' => $menus, 'pagination' => [ 'pageSize' => -1, ], ]); } }